From 71a1edb89ac6a8b57d83eed651ded68742bf27f8 Mon Sep 17 00:00:00 2001 From: Roman Frolov Date: Mon, 15 Oct 2018 20:36:09 +0300 Subject: [PATCH 1/4] initial --- contracts/Bridge.sol | 2 +- contracts/interfaces/IBridge.sol | 8 ++++---- test/Bridge.js | 5 +++++ test/BridgeFailed.js | 5 +++++ test/BridgeNoRewards.js | 5 +++++ test/BridgeOnlyHardcap.js | 8 ++++++++ test/BridgeOnlyMinGoal.js | 8 ++++++++ 7 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 test/BridgeOnlyHardcap.js create mode 100644 test/BridgeOnlyMinGoal.js diff --git a/contracts/Bridge.sol b/contracts/Bridge.sol index 15b4fe0..f332d8c 100644 --- a/contracts/Bridge.sol +++ b/contracts/Bridge.sol @@ -35,7 +35,7 @@ contract Bridge is IBridge { // called by CrowdsaleController to transfer reward part of ETH // collected by successful crowdsale to Forecasting contract. // This call is made upon closing successful crowdfunding process - // iff agreed ETH reward part is not zero + // if agreed ETH reward part is not zero function mintETHRewards( address _contract, // Forecasting contract uint256 _amount // agreed part of totalCollected which is intended for rewards diff --git a/contracts/interfaces/IBridge.sol b/contracts/interfaces/IBridge.sol index 5a9cc7b..3207f77 100644 --- a/contracts/interfaces/IBridge.sol +++ b/contracts/interfaces/IBridge.sol @@ -81,14 +81,14 @@ contract IBridge is Ownable { uint256 public endTimestamp; // crowdsale token must be ERC20-compliant - DetailedERC20 token; + DetailedERC20 public token; // crowdsale status - bool completed; - bool failed; + bool public completed; + bool public failed; // whether sale results were communicated to crowdsale controller or not - bool notifiedSale; + bool public notifiedSale; function transferManager(address _newManager) public onlyManager() { require(_newManager != address(0)); diff --git a/test/Bridge.js b/test/Bridge.js index e8803ba..d1fdfac 100644 --- a/test/Bridge.js +++ b/test/Bridge.js @@ -1,3 +1,8 @@ +/** + * // TODO test description + * @type {[type]} + */ + 'use strict'; const { should } = require('chai').should(); diff --git a/test/BridgeFailed.js b/test/BridgeFailed.js index fb28de9..9f6addd 100644 --- a/test/BridgeFailed.js +++ b/test/BridgeFailed.js @@ -1,3 +1,8 @@ +/** + * // TODO test description + * @type {[type]} + */ + 'use strict'; const { should } = require('chai').should(); diff --git a/test/BridgeNoRewards.js b/test/BridgeNoRewards.js index 7a6bd97..b1db428 100644 --- a/test/BridgeNoRewards.js +++ b/test/BridgeNoRewards.js @@ -1,3 +1,8 @@ +/** + * // TODO test description + * @type {[type]} + */ + 'use strict'; const { should } = require('chai').should(); diff --git a/test/BridgeOnlyHardcap.js b/test/BridgeOnlyHardcap.js new file mode 100644 index 0000000..f86dc7e --- /dev/null +++ b/test/BridgeOnlyHardcap.js @@ -0,0 +1,8 @@ +/** + * // TODO test description + * @type {[type]} + */ + +'use strict'; + +// TODO diff --git a/test/BridgeOnlyMinGoal.js b/test/BridgeOnlyMinGoal.js new file mode 100644 index 0000000..f86dc7e --- /dev/null +++ b/test/BridgeOnlyMinGoal.js @@ -0,0 +1,8 @@ +/** + * // TODO test description + * @type {[type]} + */ + +'use strict'; + +// TODO From efab6f5cdb6d1f72aef2125347fcfa93ce7397dc Mon Sep 17 00:00:00 2001 From: Roman Frolov Date: Tue, 16 Oct 2018 10:22:41 +0300 Subject: [PATCH 2/4] new functional tests and added test description --- .gitignore | 1 + build/contracts/BasicToken.json | 2 +- build/contracts/Bridge.json | 2370 +++++++++++++------------ build/contracts/ControllerStub.json | 2 +- build/contracts/DefaultToken.json | 2 +- build/contracts/DetailedERC20.json | 2 +- build/contracts/ERC20.json | 2 +- build/contracts/ERC20Basic.json | 2 +- build/contracts/IBridge.json | 506 +++--- build/contracts/IDAO.json | 2 +- build/contracts/IWingsController.json | 2 +- build/contracts/Migrations.json | 2 +- build/contracts/Ownable.json | 2 +- build/contracts/SafeMath.json | 2 +- build/contracts/TestToken.json | 2 +- contracts/interfaces/IBridge.sol | 2 +- test/Bridge.js | 83 +- test/BridgeFailed.js | 63 +- test/BridgeGoals.js | 317 ++++ test/BridgeNoRewards.js | 49 +- test/BridgeOnlyHardcap.js | 8 - test/BridgeOnlyMinGoal.js | 8 - 22 files changed, 1887 insertions(+), 1544 deletions(-) create mode 100644 test/BridgeGoals.js delete mode 100644 test/BridgeOnlyHardcap.js delete mode 100644 test/BridgeOnlyMinGoal.js diff --git a/.gitignore b/.gitignore index 729dd2d..85fc8b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /node_modules truffle.js +.node- diff --git a/build/contracts/BasicToken.json b/build/contracts/BasicToken.json index 87f2683..95cf7dd 100644 --- a/build/contracts/BasicToken.json +++ b/build/contracts/BasicToken.json @@ -2362,5 +2362,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.027Z" + "updatedAt": "2018-10-16T06:55:43.628Z" } \ No newline at end of file diff --git a/build/contracts/Bridge.json b/build/contracts/Bridge.json index f2ecf3e..0caef2c 100644 --- a/build/contracts/Bridge.json +++ b/build/contracts/Bridge.json @@ -99,6 +99,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "completed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -136,6 +150,20 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "failed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": false, "inputs": [], @@ -173,6 +201,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "notifiedSale", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": false, "inputs": [ @@ -586,11 +628,11 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506040516040806120d18339810180604052810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050611fc28061010f6000396000f300608060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063058bf2141461019857806307da68f5146101c7578063101b8a41146101de578063181956ae1461020d57806318c9ef97146102445780631f2698ab1461029157806321df0da7146102c057806322f3e2d4146103175780633e50de3014610346578063441a3e7014610378578063481c6a75146103af5780635d202249146104065780636385cbbe1461043157806366829b161461045c57806375f12b211461049f5780638da5cb5b146104ce5780639106d7ba1461052557806393f33b8814610550578063a51fe11314610591578063a85adeab146105e8578063a96f866814610613578063b23c1f191461062a578063ba0e930a14610677578063c8e9d8ac146106ba578063d0e30db0146106f1578063d56b2889146106fb578063e29eb83614610712578063e6fd48bc1461073d578063ec4cd0cf14610768578063f2fde38b14610797578063f4163340146107da578063fb86a40414610809575b005b3480156101a457600080fd5b506101ad610834565b604051808215151515815260200191505060405180910390f35b3480156101d357600080fd5b506101dc610843565b005b3480156101ea57600080fd5b506101f3610915565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b506102426004803603810190808035906020019092919080359060200190929190505050610ae3565b005b34801561025057600080fd5b5061028f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c35565b005b34801561029d57600080fd5b506102a6610ccc565b604051808215151515815260200191505060405180910390f35b3480156102cc57600080fd5b506102d5610cdf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032357600080fd5b5061032c610d09565b604051808215151515815260200191505060405180910390f35b34801561035257600080fd5b5061035b610d39565b604051808381526020018281526020019250505060405180910390f35b34801561038457600080fd5b506103ad600480360381019080803590602001909291908035906020019092919050505061101b565b005b3480156103bb57600080fd5b506103c4611347565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041257600080fd5b5061041b61136d565b6040518082815260200191505060405180910390f35b34801561043d57600080fd5b50610446611373565b6040518082815260200191505060405180910390f35b34801561046857600080fd5b5061049d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611379565b005b3480156104ab57600080fd5b506104b4611608565b604051808215151515815260200191505060405180910390f35b3480156104da57600080fd5b506104e361161b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053157600080fd5b5061053a611640565b6040518082815260200191505060405180910390f35b34801561055c57600080fd5b5061058f600480360381019080803590602001909291908035906020019092919080359060200190929190505050611646565b005b34801561059d57600080fd5b506105e66004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061175c565b005b3480156105f457600080fd5b506105fd6118b5565b6040518082815260200191505060405180910390f35b34801561061f57600080fd5b506106286118bb565b005b34801561063657600080fd5b50610675600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118bd565b005b34801561068357600080fd5b506106b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a1e565b005b3480156106c657600080fd5b506106ef6004803603810190808035906020019092919080359060200190929190505050611afa565b005b6106f9611c42565b005b34801561070757600080fd5b50610710611c44565b005b34801561071e57600080fd5b50610727611d8f565b6040518082815260200191505060405180910390f35b34801561074957600080fd5b50610752611d95565b6040518082815260200191505060405180910390f35b34801561077457600080fd5b5061077d611d9b565b604051808215151515815260200191505060405180910390f35b3480156107a357600080fd5b506107d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dcb565b005b3480156107e657600080fd5b506107ef611f20565b604051808215151515815260200191505060405180910390f35b34801561081557600080fd5b5061081e611f37565b6040518082815260200191505060405180910390f35b60006005546002541015905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561089f57600080fd5b600160159054906101000a900460ff161515156108bb57600080fd5b600160149054906101000a900460ff16156108f9576108d8611f20565b1515156108e457600080fd5b6108ec611d9b565b1515156108f857600080fd5b5b60018060156101000a81548160ff021916908315150217905550565b6000806000806000610925610d39565b80945081955050506000841115610962573073ffffffffffffffffffffffffffffffffffffffff16319150838210156109615760009450610adc565b5b6000831115610ad757600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156109cb5760009450610adc565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a8857600080fd5b505af1158015610a9c573d6000803e3d6000fd5b505050506040513d6020811015610ab257600080fd5b8101908080519060200190929190505050905082811015610ad65760009450610adc565b5b600194505b5050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b8b5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610b9657600080fd5b600960149054906101000a900460ff16151515610bb257600080fd5b600082118015610bc25750600081115b15610bd6578181111515610bd557600080fd5b5b6000821115610be757816005819055505b806006819055507f8a107dbf550ef189cf0475e419d4fb817092ced37114d2b5efe4c816926b27ee600554600654604051808381526020018281526020019250505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9157600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168160405160006040518083038185875af1925050501515610cc857600080fd5b5050565b600160149054906101000a900460ff1681565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160149054906101000a900460ff168015610d345750600960149054906101000a900460ff16155b905090565b6000806000806000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a823cfaf6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b505050506040513d6020811015610df457600080fd5b81019080805190602001909291905050509450600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380fa81b16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610e8d57600080fd5b505af1158015610ea1573d6000803e3d6000fd5b505050506040513d6020811015610eb757600080fd5b8101908080519060200190929190505050935060008414159150620f4240610eea86600454611f3d90919063ffffffff16565b811515610ef357fe5b0490506000600354141515610f0c576003546002819055505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633350ae366002546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610f9f57600080fd5b505af1158015610fb3573d6000803e3d6000fd5b505050506040513d6020811015610fc957600080fd5b8101908080519060200190929190505050600281905550811561100c57620f4240610fff85600254611f3d90919063ffffffff16565b81151561100857fe5b0492505b82819650965050505050509091565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561107957600080fd5b600960149054906101000a900460ff1680156110a25750600960159054906101000a900460ff16155b156110ac57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16319150600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b505050506040513d60208110156111ad57600080fd5b810190808051906020019092919050505090508382101580156111d05750828110155b15156111db57600080fd5b600084111561122c573373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505015801561122a573d6000803e3d6000fd5b505b600083111561134157600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156112fa57600080fd5b505af115801561130e573d6000803e3d6000fd5b505050506040513d602081101561132457600080fd5b8101908080519060200190929190505050151561134057600080fd5b5b50505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114235750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561142e57600080fd5b600960149054906101000a900460ff1615151561144a57600080fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561151157600080fd5b505af1158015611525573d6000803e3d6000fd5b505050506040513d602081101561153b57600080fd5b8101908080519060200190929190505050905060088160ff1610158015611566575060128160ff1611155b151561157157600080fd5b7fed6f18557b7914dbfc23d546be65de82017608e11b87429e06c0b88b55f0b6c3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff1660ff1681526020019250505060405180910390a15050565b600160159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600160149054906101000a900460ff16151561166157600080fd5b600160159054906101000a900460ff1615151561167d57600080fd5b611685610d09565b151561169057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116eb57600080fd5b61170083600254611f7890919063ffffffff16565b60028190555061171b82600354611f7890919063ffffffff16565b60038190555061173681600454611f7890919063ffffffff16565b6004819055506001600960166101000a81548160ff021916908315150217905550505050565b600160149054906101000a900460ff1615151561177857600080fd5b600160159054906101000a900460ff1615151561179457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117f057600080fd5b6000831180156118005750600082115b1561181457828211151561181357600080fd5b5b826007819055508160088190555060018060146101000a81548160ff0219169083151502179055507ffccf552413932efea18979436cc8ce92942bdef118c2b5682351e1891bef807283836000604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b60085481565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561191957600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156119de57600080fd5b505af11580156119f2573d6000803e3d6000fd5b505050506040513d6020811015611a0857600080fd5b8101908080519060200190929190505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a7a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ab657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ba25750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611bad57600080fd5b600960149054906101000a900460ff16151515611bc957600080fd5b600082118015611bd95750600081115b15611bed578181111515611bec57600080fd5b5b81600781905550806008819055507f70b2168874684694af024b9b82966aedd9e12634e3229136b7d89247b5a2b071600754600854604051808381526020018281526020019250505060405180910390a15050565b565b600160159054906101000a900460ff16151515611c6057600080fd5b600160149054906101000a900460ff161515611c7b57600080fd5b611c83610d09565b1515611c8e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ce957600080fd5b600960169054906101000a900460ff161515611d0457600080fd5b611d0c610834565b1515611d32576001600960156101000a81548160ff021916908315150217905550611d46565b611d3a610915565b1515611d4557600080fd5b5b6001600960146101000a81548160ff0219169083151502179055507f256531276449280f5a3022f3024cb03968cf6ab90d6d067e9bc10768bcbcb08060405160405180910390a1565b60025481565b60075481565b6000600960149054906101000a900460ff168015611dc65750600960159054906101000a900460ff16155b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e6257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600960159054906101000a900460ff16905090565b60065481565b6000806000841415611f525760009150611f71565b8284029050828482811515611f6357fe5b04141515611f6d57fe5b8091505b5092915050565b6000808284019050838110151515611f8c57fe5b80915050929150505600a165627a7a72305820d5f233de72b044d697c5ca64f60bc249fd1b681ce07f782f5199194efd47dabc0029", - "deployedBytecode": "0x608060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063058bf2141461019857806307da68f5146101c7578063101b8a41146101de578063181956ae1461020d57806318c9ef97146102445780631f2698ab1461029157806321df0da7146102c057806322f3e2d4146103175780633e50de3014610346578063441a3e7014610378578063481c6a75146103af5780635d202249146104065780636385cbbe1461043157806366829b161461045c57806375f12b211461049f5780638da5cb5b146104ce5780639106d7ba1461052557806393f33b8814610550578063a51fe11314610591578063a85adeab146105e8578063a96f866814610613578063b23c1f191461062a578063ba0e930a14610677578063c8e9d8ac146106ba578063d0e30db0146106f1578063d56b2889146106fb578063e29eb83614610712578063e6fd48bc1461073d578063ec4cd0cf14610768578063f2fde38b14610797578063f4163340146107da578063fb86a40414610809575b005b3480156101a457600080fd5b506101ad610834565b604051808215151515815260200191505060405180910390f35b3480156101d357600080fd5b506101dc610843565b005b3480156101ea57600080fd5b506101f3610915565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b506102426004803603810190808035906020019092919080359060200190929190505050610ae3565b005b34801561025057600080fd5b5061028f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c35565b005b34801561029d57600080fd5b506102a6610ccc565b604051808215151515815260200191505060405180910390f35b3480156102cc57600080fd5b506102d5610cdf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032357600080fd5b5061032c610d09565b604051808215151515815260200191505060405180910390f35b34801561035257600080fd5b5061035b610d39565b604051808381526020018281526020019250505060405180910390f35b34801561038457600080fd5b506103ad600480360381019080803590602001909291908035906020019092919050505061101b565b005b3480156103bb57600080fd5b506103c4611347565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041257600080fd5b5061041b61136d565b6040518082815260200191505060405180910390f35b34801561043d57600080fd5b50610446611373565b6040518082815260200191505060405180910390f35b34801561046857600080fd5b5061049d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611379565b005b3480156104ab57600080fd5b506104b4611608565b604051808215151515815260200191505060405180910390f35b3480156104da57600080fd5b506104e361161b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053157600080fd5b5061053a611640565b6040518082815260200191505060405180910390f35b34801561055c57600080fd5b5061058f600480360381019080803590602001909291908035906020019092919080359060200190929190505050611646565b005b34801561059d57600080fd5b506105e66004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061175c565b005b3480156105f457600080fd5b506105fd6118b5565b6040518082815260200191505060405180910390f35b34801561061f57600080fd5b506106286118bb565b005b34801561063657600080fd5b50610675600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118bd565b005b34801561068357600080fd5b506106b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a1e565b005b3480156106c657600080fd5b506106ef6004803603810190808035906020019092919080359060200190929190505050611afa565b005b6106f9611c42565b005b34801561070757600080fd5b50610710611c44565b005b34801561071e57600080fd5b50610727611d8f565b6040518082815260200191505060405180910390f35b34801561074957600080fd5b50610752611d95565b6040518082815260200191505060405180910390f35b34801561077457600080fd5b5061077d611d9b565b604051808215151515815260200191505060405180910390f35b3480156107a357600080fd5b506107d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dcb565b005b3480156107e657600080fd5b506107ef611f20565b604051808215151515815260200191505060405180910390f35b34801561081557600080fd5b5061081e611f37565b6040518082815260200191505060405180910390f35b60006005546002541015905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561089f57600080fd5b600160159054906101000a900460ff161515156108bb57600080fd5b600160149054906101000a900460ff16156108f9576108d8611f20565b1515156108e457600080fd5b6108ec611d9b565b1515156108f857600080fd5b5b60018060156101000a81548160ff021916908315150217905550565b6000806000806000610925610d39565b80945081955050506000841115610962573073ffffffffffffffffffffffffffffffffffffffff16319150838210156109615760009450610adc565b5b6000831115610ad757600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156109cb5760009450610adc565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a8857600080fd5b505af1158015610a9c573d6000803e3d6000fd5b505050506040513d6020811015610ab257600080fd5b8101908080519060200190929190505050905082811015610ad65760009450610adc565b5b600194505b5050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610b8b5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610b9657600080fd5b600960149054906101000a900460ff16151515610bb257600080fd5b600082118015610bc25750600081115b15610bd6578181111515610bd557600080fd5b5b6000821115610be757816005819055505b806006819055507f8a107dbf550ef189cf0475e419d4fb817092ced37114d2b5efe4c816926b27ee600554600654604051808381526020018281526020019250505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c9157600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168160405160006040518083038185875af1925050501515610cc857600080fd5b5050565b600160149054906101000a900460ff1681565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160149054906101000a900460ff168015610d345750600960149054906101000a900460ff16155b905090565b6000806000806000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a823cfaf6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b505050506040513d6020811015610df457600080fd5b81019080805190602001909291905050509450600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380fa81b16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610e8d57600080fd5b505af1158015610ea1573d6000803e3d6000fd5b505050506040513d6020811015610eb757600080fd5b8101908080519060200190929190505050935060008414159150620f4240610eea86600454611f3d90919063ffffffff16565b811515610ef357fe5b0490506000600354141515610f0c576003546002819055505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633350ae366002546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610f9f57600080fd5b505af1158015610fb3573d6000803e3d6000fd5b505050506040513d6020811015610fc957600080fd5b8101908080519060200190929190505050600281905550811561100c57620f4240610fff85600254611f3d90919063ffffffff16565b81151561100857fe5b0492505b82819650965050505050509091565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561107957600080fd5b600960149054906101000a900460ff1680156110a25750600960159054906101000a900460ff16155b156110ac57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16319150600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b505050506040513d60208110156111ad57600080fd5b810190808051906020019092919050505090508382101580156111d05750828110155b15156111db57600080fd5b600084111561122c573373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505015801561122a573d6000803e3d6000fd5b505b600083111561134157600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156112fa57600080fd5b505af115801561130e573d6000803e3d6000fd5b505050506040513d602081101561132457600080fd5b8101908080519060200190929190505050151561134057600080fd5b5b50505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114235750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561142e57600080fd5b600960149054906101000a900460ff1615151561144a57600080fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561151157600080fd5b505af1158015611525573d6000803e3d6000fd5b505050506040513d602081101561153b57600080fd5b8101908080519060200190929190505050905060088160ff1610158015611566575060128160ff1611155b151561157157600080fd5b7fed6f18557b7914dbfc23d546be65de82017608e11b87429e06c0b88b55f0b6c3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff1660ff1681526020019250505060405180910390a15050565b600160159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600160149054906101000a900460ff16151561166157600080fd5b600160159054906101000a900460ff1615151561167d57600080fd5b611685610d09565b151561169057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116eb57600080fd5b61170083600254611f7890919063ffffffff16565b60028190555061171b82600354611f7890919063ffffffff16565b60038190555061173681600454611f7890919063ffffffff16565b6004819055506001600960166101000a81548160ff021916908315150217905550505050565b600160149054906101000a900460ff1615151561177857600080fd5b600160159054906101000a900460ff1615151561179457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117f057600080fd5b6000831180156118005750600082115b1561181457828211151561181357600080fd5b5b826007819055508160088190555060018060146101000a81548160ff0219169083151502179055507ffccf552413932efea18979436cc8ce92942bdef118c2b5682351e1891bef807283836000604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b60085481565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561191957600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156119de57600080fd5b505af11580156119f2573d6000803e3d6000fd5b505050506040513d6020811015611a0857600080fd5b8101908080519060200190929190505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a7a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ab657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ba25750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611bad57600080fd5b600960149054906101000a900460ff16151515611bc957600080fd5b600082118015611bd95750600081115b15611bed578181111515611bec57600080fd5b5b81600781905550806008819055507f70b2168874684694af024b9b82966aedd9e12634e3229136b7d89247b5a2b071600754600854604051808381526020018281526020019250505060405180910390a15050565b565b600160159054906101000a900460ff16151515611c6057600080fd5b600160149054906101000a900460ff161515611c7b57600080fd5b611c83610d09565b1515611c8e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ce957600080fd5b600960169054906101000a900460ff161515611d0457600080fd5b611d0c610834565b1515611d32576001600960156101000a81548160ff021916908315150217905550611d46565b611d3a610915565b1515611d4557600080fd5b5b6001600960146101000a81548160ff0219169083151502179055507f256531276449280f5a3022f3024cb03968cf6ab90d6d067e9bc10768bcbcb08060405160405180910390a1565b60025481565b60075481565b6000600960149054906101000a900460ff168015611dc65750600960159054906101000a900460ff16155b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e2657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e6257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600960159054906101000a900460ff16905090565b60065481565b6000806000841415611f525760009150611f71565b8284029050828482811515611f6357fe5b04141515611f6d57fe5b8091505b5092915050565b6000808284019050838110151515611f8c57fe5b80915050929150505600a165627a7a72305820d5f233de72b044d697c5ca64f60bc249fd1b681ce07f782f5199194efd47dabc0029", - "sourceMap": "92:7451:0:-;;;145:116;8:9:-1;5:2;;;30:1;27;20:12;5:2;145:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:9;501:5;;:18;;;;;;;;;;;;;;;;;;220:6:0;212:5;;:14;;;;;;;;;;;;;;;;;;246:8;236:7;;:18;;;;;;;;;;;;;;;;;;145:116;;92:7451;;;;;;", - "deployedSourceMap": "92:7451:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5710:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5710:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1315:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1315:259:0;;;;;;6665:804;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6665:804:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3713:391;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3713:391:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;963:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;963:321:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1387:19:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1387:19:3;;;;;;;;;;;;;;;;;;;;;;;;;;;5334:88:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5334:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5511:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5511:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5878:721;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5878:721:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4712:538;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4712:538:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:22:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1358:22:3;;;;;;;;;;;;;;;;;;;;;;;;;;;1553:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1553:32:3;;;;;;;;;;;;;;;;;;;;;;;1739:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1739:26:3;;;;;;;;;;;;;;;;;;;;;;;3356:318:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3356:318:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1412:19:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1412:19:3;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1685:24:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1685:24:3;;;;;;;;;;;;;;;;;;;;;;;1680:400:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1680:400:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2169:512;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2169:512:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1863:27:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1863:27:3;;;;;;;;;;;;;;;;;;;;;;;3116:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3116:34:3;;;;;;389:318:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:318:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2133:149:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2133:149:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;4145:396:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4145:396:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3155:36:3;;;;;;2711:538:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2711:538:0;;;;;;1488:29:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1488:29:3;;;;;;;;;;;;;;;;;;;;;;;1828;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1828:29:3;;;;;;;;;;;;;;;;;;;;;;;5609:95:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5609:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;5428:77:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5428:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:22:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1771:22:3;;;;;;;;;;;;;;;;;;;;;;;5710:106:0;5757:4;5798:11;;5780:14;;:29;;5773:36;;5710:106;:::o;1315:259::-;1133:7:3;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;897:7;;;;;;;;;;;896:8;888:17;;;;;;;;1452:7:0;;;;;;;;;;;1448:96;;;1484:10;:8;:10::i;:::-;1483:11;1475:20;;;;;;;;1518:14;:12;:14::i;:::-;1517:15;1509:24;;;;;;;;1448:96;1563:4;1553:7;;:14;;;;;;;;;;;;;;;;;;1315:259::o;6665:804::-;6713:4;6729:17;6756:19;6940:18;7286:20;6813:18;:16;:18::i;:::-;6786:45;;;;;;;;6923:1;6911:9;:13;6907:173;;;6969:4;6961:21;;;6940:42;;7014:9;7001:10;:22;6997:73;;;7050:5;7043:12;;;;6997:73;6907:173;7176:1;7162:11;:15;7158:283;;;7223:1;7197:28;;7205:5;;;;;;;;;;;7197:28;;;7193:79;;;7252:5;7245:12;;;;7193:79;7309:5;;;;;;;;;;;:15;;;7333:4;7309:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7309:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7309:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7309:30:0;;;;;;;;;;;;;;;;7286:53;;7373:11;7358:12;:26;7354:77;;;7411:5;7404:12;;;;7354:77;7158:283;7458:4;7451:11;;6665:804;;;;;;:::o;3713:391::-;1227:5:3;;;;;;;;;;;1213:19;;:10;:19;;;:44;;;;1250:7;;;;;;;;;;;1236:21;;:10;:21;;;1213:44;1205:53;;;;;;;;1324:9;;;;;;;;;;;1323:10;1315:19;;;;;;;;3850:1:0;3835:12;:16;:32;;;;;3866:1;3855:8;:12;3835:32;3831:95;;;3902:12;3891:8;:23;3883:32;;;;;;;;3831:95;3955:1;3940:12;:16;3936:73;;;3986:12;3972:11;:26;;;;3936:73;4029:8;4019:7;:18;;;;4048:49;4076:11;;4089:7;;4048:49;;;;;;;;;;;;;;;;;;;;;;;;3713:391;;:::o;963:321::-;1133:7:3;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;1245:9:0;:14;;1266:7;1245:31;;;;;;;;;;;;;;;;;1237:40;;;;;;;;963:321;;:::o;1387:19:3:-;;;;;;;;;;;;;:::o;5334:88:0:-;5375:7;5409:5;;;;;;;;;;;5394:21;;5334:88;:::o;5511:92::-;5552:4;5575:7;;;;;;;;;;;:21;;;;;5587:9;;;;;;;;;;;5586:10;5575:21;5568:28;;5511:92;:::o;5878:721::-;5927:7;5936;5955:23;6034:21;6109:17;6136;6187:19;5998:7;;;;;;;;;;;5981:41;;;:43;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5981:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5981:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5981:43:0;;;;;;;;;;;;;;;;5955:69;;6075:7;;;;;;;;;;;6058:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6058:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6058:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6058:41:0;;;;;;;;;;;;;;;;6034:65;;6174:1;6157:13;:18;;6136:40;;6242:7;6209:30;6223:15;6209:9;;:13;;:30;;;;:::i;:::-;:40;;;;;;;;6187:62;;6285:1;6264:17;;:22;;6260:87;;;6319:17;;6302:14;:34;;;;6260:87;6391:7;;;;;;;;;;;6374:52;;;6427:14;;6374:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6374:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6374:68:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6374:68:0;;;;;;;;;;;;;;;;6357:14;:85;;;;6457:12;6453:98;;;6533:7;6497:33;6516:13;6497:14;;:18;;:33;;;;:::i;:::-;:43;;;;;;;;6485:55;;6453:98;6569:9;6580:11;6561:31;;;;5878:721;;;;;;;:::o;4712:538::-;4870:18;4922:20;654:5:9;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;4805:9:0;;;;;;;;;;;:20;;;;;4819:6;;;;;;;;;;;4818:7;4805:20;4801:59;;;4841:8;;;4801:59;4899:4;4891:21;;;4870:42;;4945:5;;;;;;;;;;;:15;;;4969:4;4945:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4945:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4945:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4945:30:0;;;;;;;;;;;;;;;;4922:53;;5008:10;4994;:24;;:56;;;;;5038:12;5022;:28;;4994:56;4986:65;;;;;;;;5079:1;5066:10;:14;5062:76;;;5096:10;:19;;:31;5116:10;5096:31;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5096:31:0;5062:76;5167:1;5152:12;:16;5148:96;;;5192:5;;;;;;;;;;;:14;;;5207:10;5219:12;5192:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5192:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5192:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5192:40:0;;;;;;;;;;;;;;;;5184:49;;;;;;;;5148:96;4712:538;;;;:::o;1358:22:3:-;;;;;;;;;;;;;:::o;1553:32::-;;;;:::o;1739:26::-;;;;:::o;3356:318:0:-;3491:19;1227:5:3;;;;;;;;;;;1213:19;;:10;:19;;;:44;;;;1250:7;;;;;;;;;;;1236:21;;:10;:21;;;1213:44;1205:53;;;;;;;;1324:9;;;;;;;;;;;1323:10;1315:19;;;;;;;;3470:9:0;3448:5;;:32;;;;;;;;;;;;;;;;;;3519:5;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3519:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3519:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3519:16:0;;;;;;;;;;;;;;;;3491:45;;3572:1;3555:13;:18;;;;:41;;;;;3594:2;3577:13;:19;;;;3555:41;3547:50;;;;;;;;3608:59;3645:5;;;;;;;;;;;3653:13;3608:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3356:318;;:::o;1412:19:3:-;;;;;;;;;;;;;:::o;238:20:9:-;;;;;;;;;;;;;:::o;1685:24:3:-;;;;:::o;1680:400:0:-;1048:7:3;;;;;;;;;;;1040:16;;;;;;;;897:7;;;;;;;;;;;896:8;888:17;;;;;;;;727:10;:8;:10::i;:::-;719:19;;;;;;;;654:5:9;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;1903:27:0;1922:7;1903:14;;:18;;:27;;;;:::i;:::-;1886:14;:44;;;;1960:33;1982:10;1960:17;;:21;;:33;;;;:::i;:::-;1940:17;:53;;;;2015:28;2029:13;2015:9;;:13;;:28;;;;:::i;:::-;2003:9;:40;;;;2069:4;2054:12;;:19;;;;;;;;;;;;;;;;;;1680:400;;;:::o;2169:512::-;972:7:3;;;;;;;;;;;971:8;963:17;;;;;;;;897:7;;;;;;;;;;;896:8;888:17;;;;;;;;1133:7;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;2410:1:0;2392:15;:19;:40;;;;;2431:1;2415:13;:17;2392:40;2388:111;;;2472:15;2456:13;:31;2448:40;;;;;;;;2388:111;2526:15;2509:14;:32;;;;2566:13;2551:12;:28;;;;2600:4;2590:7;;:14;;;;;;;;;;;;;;;;;;2615:59;2631:15;2648:13;2671:1;2615:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2169:512;;;:::o;1863:27:3:-;;;;:::o;3116:34::-;:::o;389:318:0:-;1133:7:3;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;666:5:0;;;;;;;;;;;:14;;;681:9;692:7;666:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;666:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;666:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;666:34:0;;;;;;;;;;;;;;;;;389:318;;:::o;2133:149:3:-;1133:7;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;2241:1;2218:25;;:11;:25;;;;2210:34;;;;;;;;2264:11;2254:7;;:21;;;;;;;;;;;;;;;;;;2133:149;:::o;4145:396:0:-;1227:5:3;;;;;;;;;;;1213:19;;:10;:19;;;:44;;;;1250:7;;;;;;;;;;;1236:21;;:10;:21;;;1213:44;1205:53;;;;;;;;1324:9;;;;;;;;;;;1323:10;1315:19;;;;;;;;4295:1:0;4277:15;:19;:40;;;;;4316:1;4300:13;:17;4277:40;4273:111;;;4357:15;4341:13;:31;4333:40;;;;;;;;4273:111;4411:15;4394:14;:32;;;;4451:13;4436:12;:28;;;;4475:59;4505:14;;4521:12;;4475:59;;;;;;;;;;;;;;;;;;;;;;;;4145:396;;:::o;3155:36:3:-;:::o;2711:538:0:-;897:7:3;;;;;;;;;;;896:8;888:17;;;;;;;;1048:7;;;;;;;;;;;1040:16;;;;;;;;727:10;:8;:10::i;:::-;719:19;;;;;;;;654:5:9;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;2946:12:0;;;;;;;;;;;2938:21;;;;;;;;2975:16;:14;:16::i;:::-;2974:17;2970:210;;;3016:4;3007:6;;:13;;;;;;;;;;;;;;;;;;2970:210;;;3151:17;:15;:17::i;:::-;3143:26;;;;;;;;2970:210;3202:4;3190:9;;:16;;;;;;;;;;;;;;;;;;3217:25;;;;;;;;;;2711:538::o;1488:29:3:-;;;;:::o;1828:::-;;;;:::o;5609:95:0:-;5654:4;5677:9;;;;;;;;;;;:20;;;;;5691:6;;;;;;;;;;;5690:7;5677:20;5670:27;;5609:95;:::o;834:169:9:-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;5428:77:0:-;5469:4;5492:6;;;;;;;;;;;5485:13;;5428:77;:::o;1771:22:3:-;;;;:::o;138:173:8:-;196:7;251:9;220:1;215;:6;211:35;;;238:1;231:8;;;;211:35;267:1;263;:5;251:17;;290:1;285;281;:5;;;;;;;;:10;274:18;;;;;;305:1;298:8;;138:173;;;;;;:::o;698:129::-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o", - "source": "pragma solidity ^0.4.18;\n\n\nimport './interfaces/IBridge.sol';\n\n\n/*\n Standalone Bridge\n*/\ncontract Bridge is IBridge {\n\n // Constructor\n function Bridge(address _owner, address _manager) public {\n owner = _owner;\n manager = _manager;\n }\n\n /*\n Only manager\n */\n\n // Mints token Rewards to Forecasting contract\n // called by IWingsController\n function mintTokenRewards(\n address _contract,\n uint256 _amount // agreed part of totalSold which is intended for rewards\n )\n public\n onlyManager()\n {\n // in our example we are transferring tokens instead of minting them\n token.transfer(_contract, _amount);\n }\n\n // called by CrowdsaleController to transfer reward part of ETH\n // collected by successful crowdsale to Forecasting contract.\n // This call is made upon closing successful crowdfunding process\n // iff agreed ETH reward part is not zero\n function mintETHRewards(\n address _contract, // Forecasting contract\n uint256 _amount // agreed part of totalCollected which is intended for rewards\n )\n public\n onlyManager() // manager is CrowdsaleController instance\n {\n require(_contract.call.value(_amount)());\n }\n\n // cancels crowdsale\n function stop() public onlyManager() hasntStopped() {\n // we can stop only not started and not completed crowdsale\n if (started) {\n require(!isFailed());\n require(!isSuccessful());\n }\n stopped = true;\n }\n\n /*\n Public\n */\n\n // Update information about collected ETH and sold tokens amount\n function notifySale(uint256 _amount, uint256 _ethAmount, uint256 _tokensAmount)\n public\n hasBeenStarted()\n hasntStopped()\n whenCrowdsaleAlive()\n onlyOwner()\n {\n totalCollected = totalCollected.add(_amount);\n totalCollectedETH = totalCollectedETH.add(_ethAmount);\n totalSold = totalSold.add(_tokensAmount);\n\n notifiedSale = true;\n }\n\n // Validates parameters and starts crowdsale\n // called by IWingsController\n function start(\n uint256 _startTimestamp,\n uint256 _endTimestamp,\n address /*_fundingAddress*/\n )\n public\n hasntStarted()\n hasntStopped()\n onlyManager()\n {\n if (_startTimestamp > 0 && _endTimestamp > 0) {\n require(_endTimestamp > _startTimestamp);\n }\n\n startTimestamp = _startTimestamp;\n endTimestamp = _endTimestamp;\n\n started = true;\n\n CROWDSALE_START(_startTimestamp, _endTimestamp, address(0));\n }\n\n // Finish crowdsale\n function finish()\n public\n hasntStopped()\n hasBeenStarted()\n whenCrowdsaleAlive()\n onlyOwner()\n {\n // allow to finish bridge only if owner has communicated crowdsale results\n require(notifiedSale);\n\n if (!reachedMinGoal()) {\n failed = true;\n } else {\n // if crowdsale is not failed there should be rewards in order to finish bridge\n require(rewardsAreReady());\n }\n\n completed = true;\n\n CUSTOM_CROWDSALE_FINISH();\n }\n\n // Change token address (in case you've used the dafault token address during bridge deployment)\n function changeToken(address _newToken) public onlyOwnerOrManager() uncompleted() {\n token = DetailedERC20(_newToken);\n\n uint8 tokenDecimals = uint8(token.decimals());\n\n require(tokenDecimals >= 8 && tokenDecimals <= 18);\n\n CUSTOM_CROWDSALE_TOKEN_ADDED(address(token), tokenDecimals);\n }\n\n // Set/update crowdsale goal\n function setCrowdsaleGoal(uint256 _minimalGoal, uint256 _hardCap) public onlyOwnerOrManager() uncompleted() {\n if (_minimalGoal > 0 && _hardCap > 0) {\n require(_hardCap > _minimalGoal);\n }\n\n if (_minimalGoal > 0) {\n minimalGoal = _minimalGoal;\n }\n\n hardCap = _hardCap;\n\n CUSTOM_CROWDSALE_GOAL_ADDED(minimalGoal, hardCap);\n }\n\n // Set/update crowdsale period\n function setCrowdsalePeriod(uint256 _startTimestamp, uint256 _endTimestamp) public onlyOwnerOrManager() uncompleted() {\n if (_startTimestamp > 0 && _endTimestamp > 0) {\n require(_endTimestamp > _startTimestamp);\n }\n\n startTimestamp = _startTimestamp;\n endTimestamp = _endTimestamp;\n\n CUSTOM_CROWDSALE_PERIOD_ADDED(startTimestamp, endTimestamp);\n }\n\n // Gives owner ability to withdraw eth and wings from Bridge contract balance in case\n // if some error during reward calculation occured or crowdsale failed\n function withdraw(uint256 _ethAmount, uint256 _tokenAmount) public onlyOwner() {\n if (completed && !failed) {\n revert();\n }\n\n uint256 ethBalance = address(this).balance;\n uint256 tokenBalance = token.balanceOf(address(this));\n\n require(ethBalance >= _ethAmount && tokenBalance >= _tokenAmount);\n\n if (_ethAmount > 0) {\n msg.sender.transfer(_ethAmount);\n }\n\n if (_tokenAmount > 0) {\n require(token.transfer(msg.sender, _tokenAmount));\n }\n }\n\n /*\n Public view\n */\n\n // Returns address of crowdsale token\n function getToken() public view returns (address) {\n return address(token);\n }\n\n function isFailed() public view returns (bool) {\n return failed;\n }\n\n function isActive() public view returns (bool) {\n return started && !completed;\n }\n\n function isSuccessful() public view returns (bool) {\n return completed && !failed;\n }\n\n function reachedMinGoal() public view returns (bool) {\n return totalCollected >= minimalGoal;\n }\n\n // Find out the amount of rewards in ETH and tokens\n function calculateRewards() public view returns (uint256, uint256) {\n uint256 tokenRewardPart = IWingsController(manager).tokenRewardPart();\n uint256 ethRewardPart = IWingsController(manager).ethRewardPart();\n uint256 ethReward;\n bool hasEthReward = (ethRewardPart != 0);\n\n uint256 tokenReward = totalSold.mul(tokenRewardPart) / 1000000;\n\n if (totalCollectedETH != 0) {\n totalCollected = totalCollectedETH;\n }\n\n totalCollected = IWingsController(manager).fitCollectedValueIntoRange(totalCollected);\n\n if (hasEthReward) {\n ethReward = totalCollected.mul(ethRewardPart) / 1000000;\n }\n\n return (ethReward, tokenReward);\n }\n\n // Find out whether rewards are ready to be distributed\n function rewardsAreReady() public view returns (bool) {\n uint256 ethReward;\n uint256 tokenReward;\n\n (ethReward, tokenReward) = calculateRewards();\n\n // check if there are enough eth rewards on this address\n if (ethReward > 0) {\n uint256 ethBalance = address(this).balance;\n\n if (ethBalance < ethReward) {\n return false;\n }\n }\n\n // check if there are enough tokens rewards on this address\n if (tokenReward > 0) {\n if (address(token) == address(0)) {\n return false;\n }\n\n uint256 tokenBalance = token.balanceOf(address(this));\n\n if (tokenBalance < tokenReward) {\n return false;\n }\n }\n\n return true;\n }\n\n /*\n Fallback\n */\n\n function() public payable {\n }\n}\n", + "bytecode": "0x608060405234801561001057600080fd5b506040516040806121b88339810180604052810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506120a98061010f6000396000f3006080604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063058bf214146101b957806307da68f5146101e8578063101b8a41146101ff578063181956ae1461022e57806318c9ef97146102655780631f2698ab146102b257806321df0da7146102e157806322f3e2d4146103385780633e50de3014610367578063441a3e7014610399578063481c6a75146103d05780635d202249146104275780636385cbbe1461045257806366829b161461047d57806375f12b21146104c05780638da5cb5b146104ef5780639106d7ba1461054657806393f33b88146105715780639d9a7fe9146105b2578063a51fe113146105e1578063a85adeab14610638578063a96f866814610663578063b23c1f191461067a578063ba0e930a146106c7578063ba414fa61461070a578063c8e9d8ac14610739578063d0e30db014610770578063d56b28891461077a578063e29eb83614610791578063e6fd48bc146107bc578063e8387f40146107e7578063ec4cd0cf14610816578063f2fde38b14610845578063f416334014610888578063fb86a404146108b7575b005b3480156101c557600080fd5b506101ce6108e2565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b506101fd6108f1565b005b34801561020b57600080fd5b506102146109c3565b604051808215151515815260200191505060405180910390f35b34801561023a57600080fd5b506102636004803603810190808035906020019092919080359060200190929190505050610b91565b005b34801561027157600080fd5b506102b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce3565b005b3480156102be57600080fd5b506102c7610d7a565b604051808215151515815260200191505060405180910390f35b3480156102ed57600080fd5b506102f6610d8d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034457600080fd5b5061034d610db7565b604051808215151515815260200191505060405180910390f35b34801561037357600080fd5b5061037c610de7565b604051808381526020018281526020019250505060405180910390f35b3480156103a557600080fd5b506103ce60048036038101908080359060200190929190803590602001909291905050506110c9565b005b3480156103dc57600080fd5b506103e56113f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043357600080fd5b5061043c61141b565b6040518082815260200191505060405180910390f35b34801561045e57600080fd5b50610467611421565b6040518082815260200191505060405180910390f35b34801561048957600080fd5b506104be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611427565b005b3480156104cc57600080fd5b506104d56116b6565b604051808215151515815260200191505060405180910390f35b3480156104fb57600080fd5b506105046116c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055257600080fd5b5061055b6116ee565b6040518082815260200191505060405180910390f35b34801561057d57600080fd5b506105b06004803603810190808035906020019092919080359060200190929190803590602001909291905050506116f4565b005b3480156105be57600080fd5b506105c761180a565b604051808215151515815260200191505060405180910390f35b3480156105ed57600080fd5b506106366004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181d565b005b34801561064457600080fd5b5061064d611976565b6040518082815260200191505060405180910390f35b34801561066f57600080fd5b5061067861197c565b005b34801561068657600080fd5b506106c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061197e565b005b3480156106d357600080fd5b50610708600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611adf565b005b34801561071657600080fd5b5061071f611bbb565b604051808215151515815260200191505060405180910390f35b34801561074557600080fd5b5061076e6004803603810190808035906020019092919080359060200190929190505050611bce565b005b610778611d16565b005b34801561078657600080fd5b5061078f611d18565b005b34801561079d57600080fd5b506107a6611e63565b6040518082815260200191505060405180910390f35b3480156107c857600080fd5b506107d1611e69565b6040518082815260200191505060405180910390f35b3480156107f357600080fd5b506107fc611e6f565b604051808215151515815260200191505060405180910390f35b34801561082257600080fd5b5061082b611e82565b604051808215151515815260200191505060405180910390f35b34801561085157600080fd5b50610886600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eb2565b005b34801561089457600080fd5b5061089d612007565b604051808215151515815260200191505060405180910390f35b3480156108c357600080fd5b506108cc61201e565b6040518082815260200191505060405180910390f35b60006005546002541015905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094d57600080fd5b600160159054906101000a900460ff1615151561096957600080fd5b600160149054906101000a900460ff16156109a757610986612007565b15151561099257600080fd5b61099a611e82565b1515156109a657600080fd5b5b60018060156101000a81548160ff021916908315150217905550565b60008060008060006109d3610de7565b80945081955050506000841115610a10573073ffffffffffffffffffffffffffffffffffffffff1631915083821015610a0f5760009450610b8a565b5b6000831115610b8557600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a795760009450610b8a565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b3657600080fd5b505af1158015610b4a573d6000803e3d6000fd5b505050506040513d6020811015610b6057600080fd5b8101908080519060200190929190505050905082811015610b845760009450610b8a565b5b600194505b5050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c395750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610c4457600080fd5b600960149054906101000a900460ff16151515610c6057600080fd5b600082118015610c705750600081115b15610c84578181111515610c8357600080fd5b5b6000821115610c9557816005819055505b806006819055507f8a107dbf550ef189cf0475e419d4fb817092ced37114d2b5efe4c816926b27ee600554600654604051808381526020018281526020019250505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3f57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168160405160006040518083038185875af1925050501515610d7657600080fd5b5050565b600160149054906101000a900460ff1681565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160149054906101000a900460ff168015610de25750600960149054906101000a900460ff16155b905090565b6000806000806000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a823cfaf6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610e7857600080fd5b505af1158015610e8c573d6000803e3d6000fd5b505050506040513d6020811015610ea257600080fd5b81019080805190602001909291905050509450600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380fa81b16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610f3b57600080fd5b505af1158015610f4f573d6000803e3d6000fd5b505050506040513d6020811015610f6557600080fd5b8101908080519060200190929190505050935060008414159150620f4240610f988660045461202490919063ffffffff16565b811515610fa157fe5b0490506000600354141515610fba576003546002819055505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633350ae366002546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561104d57600080fd5b505af1158015611061573d6000803e3d6000fd5b505050506040513d602081101561107757600080fd5b810190808051906020019092919050505060028190555081156110ba57620f42406110ad8560025461202490919063ffffffff16565b8115156110b657fe5b0492505b82819650965050505050509091565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561112757600080fd5b600960149054906101000a900460ff1680156111505750600960159054906101000a900460ff16155b1561115a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16319150600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561123157600080fd5b505af1158015611245573d6000803e3d6000fd5b505050506040513d602081101561125b57600080fd5b8101908080519060200190929190505050905083821015801561127e5750828110155b151561128957600080fd5b60008411156112da573373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156112d8573d6000803e3d6000fd5b505b60008311156113ef57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156113a857600080fd5b505af11580156113bc573d6000803e3d6000fd5b505050506040513d60208110156113d257600080fd5b810190808051906020019092919050505015156113ee57600080fd5b5b50505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114d15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156114dc57600080fd5b600960149054906101000a900460ff161515156114f857600080fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156115bf57600080fd5b505af11580156115d3573d6000803e3d6000fd5b505050506040513d60208110156115e957600080fd5b8101908080519060200190929190505050905060088160ff1610158015611614575060128160ff1611155b151561161f57600080fd5b7fed6f18557b7914dbfc23d546be65de82017608e11b87429e06c0b88b55f0b6c3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff1660ff1681526020019250505060405180910390a15050565b600160159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600160149054906101000a900460ff16151561170f57600080fd5b600160159054906101000a900460ff1615151561172b57600080fd5b611733610db7565b151561173e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561179957600080fd5b6117ae8360025461205f90919063ffffffff16565b6002819055506117c98260035461205f90919063ffffffff16565b6003819055506117e48160045461205f90919063ffffffff16565b6004819055506001600960166101000a81548160ff021916908315150217905550505050565b600960149054906101000a900460ff1681565b600160149054906101000a900460ff1615151561183957600080fd5b600160159054906101000a900460ff1615151561185557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118b157600080fd5b6000831180156118c15750600082115b156118d55782821115156118d457600080fd5b5b826007819055508160088190555060018060146101000a81548160ff0219169083151502179055507ffccf552413932efea18979436cc8ce92942bdef118c2b5682351e1891bef807283836000604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b60085481565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119da57600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611a9f57600080fd5b505af1158015611ab3573d6000803e3d6000fd5b505050506040513d6020811015611ac957600080fd5b8101908080519060200190929190505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b3b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b7757600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c765750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c8157600080fd5b600960149054906101000a900460ff16151515611c9d57600080fd5b600082118015611cad5750600081115b15611cc1578181111515611cc057600080fd5b5b81600781905550806008819055507f70b2168874684694af024b9b82966aedd9e12634e3229136b7d89247b5a2b071600754600854604051808381526020018281526020019250505060405180910390a15050565b565b600160159054906101000a900460ff16151515611d3457600080fd5b600160149054906101000a900460ff161515611d4f57600080fd5b611d57610db7565b1515611d6257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dbd57600080fd5b600960169054906101000a900460ff161515611dd857600080fd5b611de06108e2565b1515611e06576001600960156101000a81548160ff021916908315150217905550611e1a565b611e0e6109c3565b1515611e1957600080fd5b5b6001600960146101000a81548160ff0219169083151502179055507f256531276449280f5a3022f3024cb03968cf6ab90d6d067e9bc10768bcbcb08060405160405180910390a1565b60025481565b60075481565b600960169054906101000a900460ff1681565b6000600960149054906101000a900460ff168015611ead5750600960159054906101000a900460ff16155b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f0d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611f4957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600960159054906101000a900460ff16905090565b60065481565b60008060008414156120395760009150612058565b828402905082848281151561204a57fe5b0414151561205457fe5b8091505b5092915050565b600080828401905083811015151561207357fe5b80915050929150505600a165627a7a72305820ca180fd6830c5c0af35034d0a54d15b5ede3f63dcbd0cf1a84893d30439b5f960029", + "deployedBytecode": "0x6080604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063058bf214146101b957806307da68f5146101e8578063101b8a41146101ff578063181956ae1461022e57806318c9ef97146102655780631f2698ab146102b257806321df0da7146102e157806322f3e2d4146103385780633e50de3014610367578063441a3e7014610399578063481c6a75146103d05780635d202249146104275780636385cbbe1461045257806366829b161461047d57806375f12b21146104c05780638da5cb5b146104ef5780639106d7ba1461054657806393f33b88146105715780639d9a7fe9146105b2578063a51fe113146105e1578063a85adeab14610638578063a96f866814610663578063b23c1f191461067a578063ba0e930a146106c7578063ba414fa61461070a578063c8e9d8ac14610739578063d0e30db014610770578063d56b28891461077a578063e29eb83614610791578063e6fd48bc146107bc578063e8387f40146107e7578063ec4cd0cf14610816578063f2fde38b14610845578063f416334014610888578063fb86a404146108b7575b005b3480156101c557600080fd5b506101ce6108e2565b604051808215151515815260200191505060405180910390f35b3480156101f457600080fd5b506101fd6108f1565b005b34801561020b57600080fd5b506102146109c3565b604051808215151515815260200191505060405180910390f35b34801561023a57600080fd5b506102636004803603810190808035906020019092919080359060200190929190505050610b91565b005b34801561027157600080fd5b506102b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce3565b005b3480156102be57600080fd5b506102c7610d7a565b604051808215151515815260200191505060405180910390f35b3480156102ed57600080fd5b506102f6610d8d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034457600080fd5b5061034d610db7565b604051808215151515815260200191505060405180910390f35b34801561037357600080fd5b5061037c610de7565b604051808381526020018281526020019250505060405180910390f35b3480156103a557600080fd5b506103ce60048036038101908080359060200190929190803590602001909291905050506110c9565b005b3480156103dc57600080fd5b506103e56113f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043357600080fd5b5061043c61141b565b6040518082815260200191505060405180910390f35b34801561045e57600080fd5b50610467611421565b6040518082815260200191505060405180910390f35b34801561048957600080fd5b506104be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611427565b005b3480156104cc57600080fd5b506104d56116b6565b604051808215151515815260200191505060405180910390f35b3480156104fb57600080fd5b506105046116c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055257600080fd5b5061055b6116ee565b6040518082815260200191505060405180910390f35b34801561057d57600080fd5b506105b06004803603810190808035906020019092919080359060200190929190803590602001909291905050506116f4565b005b3480156105be57600080fd5b506105c761180a565b604051808215151515815260200191505060405180910390f35b3480156105ed57600080fd5b506106366004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181d565b005b34801561064457600080fd5b5061064d611976565b6040518082815260200191505060405180910390f35b34801561066f57600080fd5b5061067861197c565b005b34801561068657600080fd5b506106c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061197e565b005b3480156106d357600080fd5b50610708600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611adf565b005b34801561071657600080fd5b5061071f611bbb565b604051808215151515815260200191505060405180910390f35b34801561074557600080fd5b5061076e6004803603810190808035906020019092919080359060200190929190505050611bce565b005b610778611d16565b005b34801561078657600080fd5b5061078f611d18565b005b34801561079d57600080fd5b506107a6611e63565b6040518082815260200191505060405180910390f35b3480156107c857600080fd5b506107d1611e69565b6040518082815260200191505060405180910390f35b3480156107f357600080fd5b506107fc611e6f565b604051808215151515815260200191505060405180910390f35b34801561082257600080fd5b5061082b611e82565b604051808215151515815260200191505060405180910390f35b34801561085157600080fd5b50610886600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eb2565b005b34801561089457600080fd5b5061089d612007565b604051808215151515815260200191505060405180910390f35b3480156108c357600080fd5b506108cc61201e565b6040518082815260200191505060405180910390f35b60006005546002541015905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561094d57600080fd5b600160159054906101000a900460ff1615151561096957600080fd5b600160149054906101000a900460ff16156109a757610986612007565b15151561099257600080fd5b61099a611e82565b1515156109a657600080fd5b5b60018060156101000a81548160ff021916908315150217905550565b60008060008060006109d3610de7565b80945081955050506000841115610a10573073ffffffffffffffffffffffffffffffffffffffff1631915083821015610a0f5760009450610b8a565b5b6000831115610b8557600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a795760009450610b8a565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b3657600080fd5b505af1158015610b4a573d6000803e3d6000fd5b505050506040513d6020811015610b6057600080fd5b8101908080519060200190929190505050905082811015610b845760009450610b8a565b5b600194505b5050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c395750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610c4457600080fd5b600960149054906101000a900460ff16151515610c6057600080fd5b600082118015610c705750600081115b15610c84578181111515610c8357600080fd5b5b6000821115610c9557816005819055505b806006819055507f8a107dbf550ef189cf0475e419d4fb817092ced37114d2b5efe4c816926b27ee600554600654604051808381526020018281526020019250505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3f57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff168160405160006040518083038185875af1925050501515610d7657600080fd5b5050565b600160149054906101000a900460ff1681565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160149054906101000a900460ff168015610de25750600960149054906101000a900460ff16155b905090565b6000806000806000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a823cfaf6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610e7857600080fd5b505af1158015610e8c573d6000803e3d6000fd5b505050506040513d6020811015610ea257600080fd5b81019080805190602001909291905050509450600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380fa81b16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610f3b57600080fd5b505af1158015610f4f573d6000803e3d6000fd5b505050506040513d6020811015610f6557600080fd5b8101908080519060200190929190505050935060008414159150620f4240610f988660045461202490919063ffffffff16565b811515610fa157fe5b0490506000600354141515610fba576003546002819055505b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633350ae366002546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561104d57600080fd5b505af1158015611061573d6000803e3d6000fd5b505050506040513d602081101561107757600080fd5b810190808051906020019092919050505060028190555081156110ba57620f42406110ad8560025461202490919063ffffffff16565b8115156110b657fe5b0492505b82819650965050505050509091565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561112757600080fd5b600960149054906101000a900460ff1680156111505750600960159054906101000a900460ff16155b1561115a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16319150600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561123157600080fd5b505af1158015611245573d6000803e3d6000fd5b505050506040513d602081101561125b57600080fd5b8101908080519060200190929190505050905083821015801561127e5750828110155b151561128957600080fd5b60008411156112da573373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156112d8573d6000803e3d6000fd5b505b60008311156113ef57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156113a857600080fd5b505af11580156113bc573d6000803e3d6000fd5b505050506040513d60208110156113d257600080fd5b810190808051906020019092919050505015156113ee57600080fd5b5b50505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114d15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156114dc57600080fd5b600960149054906101000a900460ff161515156114f857600080fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156115bf57600080fd5b505af11580156115d3573d6000803e3d6000fd5b505050506040513d60208110156115e957600080fd5b8101908080519060200190929190505050905060088160ff1610158015611614575060128160ff1611155b151561161f57600080fd5b7fed6f18557b7914dbfc23d546be65de82017608e11b87429e06c0b88b55f0b6c3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff1660ff1681526020019250505060405180910390a15050565b600160159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600160149054906101000a900460ff16151561170f57600080fd5b600160159054906101000a900460ff1615151561172b57600080fd5b611733610db7565b151561173e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561179957600080fd5b6117ae8360025461205f90919063ffffffff16565b6002819055506117c98260035461205f90919063ffffffff16565b6003819055506117e48160045461205f90919063ffffffff16565b6004819055506001600960166101000a81548160ff021916908315150217905550505050565b600960149054906101000a900460ff1681565b600160149054906101000a900460ff1615151561183957600080fd5b600160159054906101000a900460ff1615151561185557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118b157600080fd5b6000831180156118c15750600082115b156118d55782821115156118d457600080fd5b5b826007819055508160088190555060018060146101000a81548160ff0219169083151502179055507ffccf552413932efea18979436cc8ce92942bdef118c2b5682351e1891bef807283836000604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1505050565b60085481565b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119da57600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611a9f57600080fd5b505af1158015611ab3573d6000803e3d6000fd5b505050506040513d6020811015611ac957600080fd5b8101908080519060200190929190505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b3b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b7757600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c765750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c8157600080fd5b600960149054906101000a900460ff16151515611c9d57600080fd5b600082118015611cad5750600081115b15611cc1578181111515611cc057600080fd5b5b81600781905550806008819055507f70b2168874684694af024b9b82966aedd9e12634e3229136b7d89247b5a2b071600754600854604051808381526020018281526020019250505060405180910390a15050565b565b600160159054906101000a900460ff16151515611d3457600080fd5b600160149054906101000a900460ff161515611d4f57600080fd5b611d57610db7565b1515611d6257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dbd57600080fd5b600960169054906101000a900460ff161515611dd857600080fd5b611de06108e2565b1515611e06576001600960156101000a81548160ff021916908315150217905550611e1a565b611e0e6109c3565b1515611e1957600080fd5b5b6001600960146101000a81548160ff0219169083151502179055507f256531276449280f5a3022f3024cb03968cf6ab90d6d067e9bc10768bcbcb08060405160405180910390a1565b60025481565b60075481565b600960169054906101000a900460ff1681565b6000600960149054906101000a900460ff168015611ead5750600960159054906101000a900460ff16155b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f0d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611f4957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600960159054906101000a900460ff16905090565b60065481565b60008060008414156120395760009150612058565b828402905082848281151561204a57fe5b0414151561205457fe5b8091505b5092915050565b600080828401905083811015151561207357fe5b80915050929150505600a165627a7a72305820ca180fd6830c5c0af35034d0a54d15b5ede3f63dcbd0cf1a84893d30439b5f960029", + "sourceMap": "92:7450:0:-;;;145:116;8:9:-1;5:2;;;30:1;27;20:12;5:2;145:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;509:10:9;501:5;;:18;;;;;;;;;;;;;;;;;;220:6:0;212:5;;:14;;;;;;;;;;;;;;;;;;246:8;236:7;;:18;;;;;;;;;;;;;;;;;;145:116;;92:7450;;;;;;", + "deployedSourceMap": "92:7450:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5709:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5709:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1314:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1314:259:0;;;;;;6664:804;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6664:804:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3712:391;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3712:391:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;962:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;962:321:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1387:19:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1387:19:3;;;;;;;;;;;;;;;;;;;;;;;;;;;5333:88:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5333:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5510:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5877:721;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5877:721:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4711:538;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4711:538:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:22:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1358:22:3;;;;;;;;;;;;;;;;;;;;;;;;;;;1553:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1553:32:3;;;;;;;;;;;;;;;;;;;;;;;1739:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1739:26:3;;;;;;;;;;;;;;;;;;;;;;;3355:318:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3355:318:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1412:19:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1412:19:3;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1685:24:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1685:24:3;;;;;;;;;;;;;;;;;;;;;;;1679:400:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1679:400:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1994:21:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1994:21:3;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:512:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2168:512:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1863:27:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1863:27:3;;;;;;;;;;;;;;;;;;;;;;;3137:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3137:34:3;;;;;;389:318:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:318:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:149:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2154:149:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2021:18:3;;;;;;;;;;;;;;;;;;;;;;;;;;;4144:396:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4144:396:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3176:36:3;;;;;;2710:538:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2710:538:0;;;;;;1488:29:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1488:29:3;;;;;;;;;;;;;;;;;;;;;;;1828;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1828:29:3;;;;;;;;;;;;;;;;;;;;;;;2123:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2123:24:3;;;;;;;;;;;;;;;;;;;;;;;;;;;5608:95:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5608:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;834:169:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:169:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;5427:77:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5427:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:22:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1771:22:3;;;;;;;;;;;;;;;;;;;;;;;5709:106:0;5756:4;5797:11;;5779:14;;:29;;5772:36;;5709:106;:::o;1314:259::-;1133:7:3;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;897:7;;;;;;;;;;;896:8;888:17;;;;;;;;1451:7:0;;;;;;;;;;;1447:96;;;1483:10;:8;:10::i;:::-;1482:11;1474:20;;;;;;;;1517:14;:12;:14::i;:::-;1516:15;1508:24;;;;;;;;1447:96;1562:4;1552:7;;:14;;;;;;;;;;;;;;;;;;1314:259::o;6664:804::-;6712:4;6728:17;6755:19;6939:18;7285:20;6812:18;:16;:18::i;:::-;6785:45;;;;;;;;6922:1;6910:9;:13;6906:173;;;6968:4;6960:21;;;6939:42;;7013:9;7000:10;:22;6996:73;;;7049:5;7042:12;;;;6996:73;6906:173;7175:1;7161:11;:15;7157:283;;;7222:1;7196:28;;7204:5;;;;;;;;;;;7196:28;;;7192:79;;;7251:5;7244:12;;;;7192:79;7308:5;;;;;;;;;;;:15;;;7332:4;7308:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7308:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7308:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7308:30:0;;;;;;;;;;;;;;;;7285:53;;7372:11;7357:12;:26;7353:77;;;7410:5;7403:12;;;;7353:77;7157:283;7457:4;7450:11;;6664:804;;;;;;:::o;3712:391::-;1227:5:3;;;;;;;;;;;1213:19;;:10;:19;;;:44;;;;1250:7;;;;;;;;;;;1236:21;;:10;:21;;;1213:44;1205:53;;;;;;;;1324:9;;;;;;;;;;;1323:10;1315:19;;;;;;;;3849:1:0;3834:12;:16;:32;;;;;3865:1;3854:8;:12;3834:32;3830:95;;;3901:12;3890:8;:23;3882:32;;;;;;;;3830:95;3954:1;3939:12;:16;3935:73;;;3985:12;3971:11;:26;;;;3935:73;4028:8;4018:7;:18;;;;4047:49;4075:11;;4088:7;;4047:49;;;;;;;;;;;;;;;;;;;;;;;;3712:391;;:::o;962:321::-;1133:7:3;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;1244:9:0;:14;;1265:7;1244:31;;;;;;;;;;;;;;;;;1236:40;;;;;;;;962:321;;:::o;1387:19:3:-;;;;;;;;;;;;;:::o;5333:88:0:-;5374:7;5408:5;;;;;;;;;;;5393:21;;5333:88;:::o;5510:92::-;5551:4;5574:7;;;;;;;;;;;:21;;;;;5586:9;;;;;;;;;;;5585:10;5574:21;5567:28;;5510:92;:::o;5877:721::-;5926:7;5935;5954:23;6033:21;6108:17;6135;6186:19;5997:7;;;;;;;;;;;5980:41;;;:43;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5980:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5980:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5980:43:0;;;;;;;;;;;;;;;;5954:69;;6074:7;;;;;;;;;;;6057:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6057:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6057:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6057:41:0;;;;;;;;;;;;;;;;6033:65;;6173:1;6156:13;:18;;6135:40;;6241:7;6208:30;6222:15;6208:9;;:13;;:30;;;;:::i;:::-;:40;;;;;;;;6186:62;;6284:1;6263:17;;:22;;6259:87;;;6318:17;;6301:14;:34;;;;6259:87;6390:7;;;;;;;;;;;6373:52;;;6426:14;;6373:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6373:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6373:68:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6373:68:0;;;;;;;;;;;;;;;;6356:14;:85;;;;6456:12;6452:98;;;6532:7;6496:33;6515:13;6496:14;;:18;;:33;;;;:::i;:::-;:43;;;;;;;;6484:55;;6452:98;6568:9;6579:11;6560:31;;;;5877:721;;;;;;;:::o;4711:538::-;4869:18;4921:20;654:5:9;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;4804:9:0;;;;;;;;;;;:20;;;;;4818:6;;;;;;;;;;;4817:7;4804:20;4800:59;;;4840:8;;;4800:59;4898:4;4890:21;;;4869:42;;4944:5;;;;;;;;;;;:15;;;4968:4;4944:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4944:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4944:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4944:30:0;;;;;;;;;;;;;;;;4921:53;;5007:10;4993;:24;;:56;;;;;5037:12;5021;:28;;4993:56;4985:65;;;;;;;;5078:1;5065:10;:14;5061:76;;;5095:10;:19;;:31;5115:10;5095:31;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5095:31:0;5061:76;5166:1;5151:12;:16;5147:96;;;5191:5;;;;;;;;;;;:14;;;5206:10;5218:12;5191:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5191:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5191:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5191:40:0;;;;;;;;;;;;;;;;5183:49;;;;;;;;5147:96;4711:538;;;;:::o;1358:22:3:-;;;;;;;;;;;;;:::o;1553:32::-;;;;:::o;1739:26::-;;;;:::o;3355:318:0:-;3490:19;1227:5:3;;;;;;;;;;;1213:19;;:10;:19;;;:44;;;;1250:7;;;;;;;;;;;1236:21;;:10;:21;;;1213:44;1205:53;;;;;;;;1324:9;;;;;;;;;;;1323:10;1315:19;;;;;;;;3469:9:0;3447:5;;:32;;;;;;;;;;;;;;;;;;3518:5;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3518:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3518:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3518:16:0;;;;;;;;;;;;;;;;3490:45;;3571:1;3554:13;:18;;;;:41;;;;;3593:2;3576:13;:19;;;;3554:41;3546:50;;;;;;;;3607:59;3644:5;;;;;;;;;;;3652:13;3607:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3355:318;;:::o;1412:19:3:-;;;;;;;;;;;;;:::o;238:20:9:-;;;;;;;;;;;;;:::o;1685:24:3:-;;;;:::o;1679:400:0:-;1048:7:3;;;;;;;;;;;1040:16;;;;;;;;897:7;;;;;;;;;;;896:8;888:17;;;;;;;;727:10;:8;:10::i;:::-;719:19;;;;;;;;654:5:9;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;1902:27:0;1921:7;1902:14;;:18;;:27;;;;:::i;:::-;1885:14;:44;;;;1959:33;1981:10;1959:17;;:21;;:33;;;;:::i;:::-;1939:17;:53;;;;2014:28;2028:13;2014:9;;:13;;:28;;;;:::i;:::-;2002:9;:40;;;;2068:4;2053:12;;:19;;;;;;;;;;;;;;;;;;1679:400;;;:::o;1994:21:3:-;;;;;;;;;;;;;:::o;2168:512:0:-;972:7:3;;;;;;;;;;;971:8;963:17;;;;;;;;897:7;;;;;;;;;;;896:8;888:17;;;;;;;;1133:7;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;2409:1:0;2391:15;:19;:40;;;;;2430:1;2414:13;:17;2391:40;2387:111;;;2471:15;2455:13;:31;2447:40;;;;;;;;2387:111;2525:15;2508:14;:32;;;;2565:13;2550:12;:28;;;;2599:4;2589:7;;:14;;;;;;;;;;;;;;;;;;2614:59;2630:15;2647:13;2670:1;2614:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:512;;;:::o;1863:27:3:-;;;;:::o;3137:34::-;:::o;389:318:0:-;1133:7:3;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;666:5:0;;;;;;;;;;;:14;;;681:9;692:7;666:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;666:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;666:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;666:34:0;;;;;;;;;;;;;;;;;389:318;;:::o;2154:149:3:-;1133:7;;;;;;;;;;;1119:21;;:10;:21;;;1111:30;;;;;;;;2262:1;2239:25;;:11;:25;;;;2231:34;;;;;;;;2285:11;2275:7;;:21;;;;;;;;;;;;;;;;;;2154:149;:::o;2021:18::-;;;;;;;;;;;;;:::o;4144:396:0:-;1227:5:3;;;;;;;;;;;1213:19;;:10;:19;;;:44;;;;1250:7;;;;;;;;;;;1236:21;;:10;:21;;;1213:44;1205:53;;;;;;;;1324:9;;;;;;;;;;;1323:10;1315:19;;;;;;;;4294:1:0;4276:15;:19;:40;;;;;4315:1;4299:13;:17;4276:40;4272:111;;;4356:15;4340:13;:31;4332:40;;;;;;;;4272:111;4410:15;4393:14;:32;;;;4450:13;4435:12;:28;;;;4474:59;4504:14;;4520:12;;4474:59;;;;;;;;;;;;;;;;;;;;;;;;4144:396;;:::o;3176:36:3:-;:::o;2710:538:0:-;897:7:3;;;;;;;;;;;896:8;888:17;;;;;;;;1048:7;;;;;;;;;;;1040:16;;;;;;;;727:10;:8;:10::i;:::-;719:19;;;;;;;;654:5:9;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;2945:12:0;;;;;;;;;;;2937:21;;;;;;;;2974:16;:14;:16::i;:::-;2973:17;2969:210;;;3015:4;3006:6;;:13;;;;;;;;;;;;;;;;;;2969:210;;;3150:17;:15;:17::i;:::-;3142:26;;;;;;;;2969:210;3201:4;3189:9;;:16;;;;;;;;;;;;;;;;;;3216:25;;;;;;;;;;2710:538::o;1488:29:3:-;;;;:::o;1828:::-;;;;:::o;2123:24::-;;;;;;;;;;;;;:::o;5608:95:0:-;5653:4;5676:9;;;;;;;;;;;:20;;;;;5690:6;;;;;;;;;;;5689:7;5676:20;5669:27;;5608:95;:::o;834:169:9:-;654:5;;;;;;;;;;;640:19;;:10;:19;;;632:28;;;;;;;;930:1;910:22;;:8;:22;;;;902:31;;;;;;;;967:8;939:37;;960:5;;;;;;;;;;;939:37;;;;;;;;;;;;990:8;982:5;;:16;;;;;;;;;;;;;;;;;;834:169;:::o;5427:77:0:-;5468:4;5491:6;;;;;;;;;;;5484:13;;5427:77;:::o;1771:22:3:-;;;;:::o;138:173:8:-;196:7;251:9;220:1;215;:6;211:35;;;238:1;231:8;;;;211:35;267:1;263;:5;251:17;;290:1;285;281;:5;;;;;;;;:10;274:18;;;;;;305:1;298:8;;138:173;;;;;;:::o;698:129::-;756:7;771:9;787:1;783;:5;771:17;;806:1;801;:6;;794:14;;;;;;821:1;814:8;;698:129;;;;;:::o", + "source": "pragma solidity ^0.4.18;\n\n\nimport './interfaces/IBridge.sol';\n\n\n/*\n Standalone Bridge\n*/\ncontract Bridge is IBridge {\n\n // Constructor\n function Bridge(address _owner, address _manager) public {\n owner = _owner;\n manager = _manager;\n }\n\n /*\n Only manager\n */\n\n // Mints token Rewards to Forecasting contract\n // called by IWingsController\n function mintTokenRewards(\n address _contract,\n uint256 _amount // agreed part of totalSold which is intended for rewards\n )\n public\n onlyManager()\n {\n // in our example we are transferring tokens instead of minting them\n token.transfer(_contract, _amount);\n }\n\n // called by CrowdsaleController to transfer reward part of ETH\n // collected by successful crowdsale to Forecasting contract.\n // This call is made upon closing successful crowdfunding process\n // if agreed ETH reward part is not zero\n function mintETHRewards(\n address _contract, // Forecasting contract\n uint256 _amount // agreed part of totalCollected which is intended for rewards\n )\n public\n onlyManager() // manager is CrowdsaleController instance\n {\n require(_contract.call.value(_amount)());\n }\n\n // cancels crowdsale\n function stop() public onlyManager() hasntStopped() {\n // we can stop only not started and not completed crowdsale\n if (started) {\n require(!isFailed());\n require(!isSuccessful());\n }\n stopped = true;\n }\n\n /*\n Public\n */\n\n // Update information about collected ETH and sold tokens amount\n function notifySale(uint256 _amount, uint256 _ethAmount, uint256 _tokensAmount)\n public\n hasBeenStarted()\n hasntStopped()\n whenCrowdsaleAlive()\n onlyOwner()\n {\n totalCollected = totalCollected.add(_amount);\n totalCollectedETH = totalCollectedETH.add(_ethAmount);\n totalSold = totalSold.add(_tokensAmount);\n\n notifiedSale = true;\n }\n\n // Validates parameters and starts crowdsale\n // called by IWingsController\n function start(\n uint256 _startTimestamp,\n uint256 _endTimestamp,\n address /*_fundingAddress*/\n )\n public\n hasntStarted()\n hasntStopped()\n onlyManager()\n {\n if (_startTimestamp > 0 && _endTimestamp > 0) {\n require(_endTimestamp > _startTimestamp);\n }\n\n startTimestamp = _startTimestamp;\n endTimestamp = _endTimestamp;\n\n started = true;\n\n CROWDSALE_START(_startTimestamp, _endTimestamp, address(0));\n }\n\n // Finish crowdsale\n function finish()\n public\n hasntStopped()\n hasBeenStarted()\n whenCrowdsaleAlive()\n onlyOwner()\n {\n // allow to finish bridge only if owner has communicated crowdsale results\n require(notifiedSale);\n\n if (!reachedMinGoal()) {\n failed = true;\n } else {\n // if crowdsale is not failed there should be rewards in order to finish bridge\n require(rewardsAreReady());\n }\n\n completed = true;\n\n CUSTOM_CROWDSALE_FINISH();\n }\n\n // Change token address (in case you've used the dafault token address during bridge deployment)\n function changeToken(address _newToken) public onlyOwnerOrManager() uncompleted() {\n token = DetailedERC20(_newToken);\n\n uint8 tokenDecimals = uint8(token.decimals());\n\n require(tokenDecimals >= 8 && tokenDecimals <= 18);\n\n CUSTOM_CROWDSALE_TOKEN_ADDED(address(token), tokenDecimals);\n }\n\n // Set/update crowdsale goal\n function setCrowdsaleGoal(uint256 _minimalGoal, uint256 _hardCap) public onlyOwnerOrManager() uncompleted() {\n if (_minimalGoal > 0 && _hardCap > 0) {\n require(_hardCap > _minimalGoal);\n }\n\n if (_minimalGoal > 0) {\n minimalGoal = _minimalGoal;\n }\n\n hardCap = _hardCap;\n\n CUSTOM_CROWDSALE_GOAL_ADDED(minimalGoal, hardCap);\n }\n\n // Set/update crowdsale period\n function setCrowdsalePeriod(uint256 _startTimestamp, uint256 _endTimestamp) public onlyOwnerOrManager() uncompleted() {\n if (_startTimestamp > 0 && _endTimestamp > 0) {\n require(_endTimestamp > _startTimestamp);\n }\n\n startTimestamp = _startTimestamp;\n endTimestamp = _endTimestamp;\n\n CUSTOM_CROWDSALE_PERIOD_ADDED(startTimestamp, endTimestamp);\n }\n\n // Gives owner ability to withdraw eth and wings from Bridge contract balance in case\n // if some error during reward calculation occured or crowdsale failed\n function withdraw(uint256 _ethAmount, uint256 _tokenAmount) public onlyOwner() {\n if (completed && !failed) {\n revert();\n }\n\n uint256 ethBalance = address(this).balance;\n uint256 tokenBalance = token.balanceOf(address(this));\n\n require(ethBalance >= _ethAmount && tokenBalance >= _tokenAmount);\n\n if (_ethAmount > 0) {\n msg.sender.transfer(_ethAmount);\n }\n\n if (_tokenAmount > 0) {\n require(token.transfer(msg.sender, _tokenAmount));\n }\n }\n\n /*\n Public view\n */\n\n // Returns address of crowdsale token\n function getToken() public view returns (address) {\n return address(token);\n }\n\n function isFailed() public view returns (bool) {\n return failed;\n }\n\n function isActive() public view returns (bool) {\n return started && !completed;\n }\n\n function isSuccessful() public view returns (bool) {\n return completed && !failed;\n }\n\n function reachedMinGoal() public view returns (bool) {\n return totalCollected >= minimalGoal;\n }\n\n // Find out the amount of rewards in ETH and tokens\n function calculateRewards() public view returns (uint256, uint256) {\n uint256 tokenRewardPart = IWingsController(manager).tokenRewardPart();\n uint256 ethRewardPart = IWingsController(manager).ethRewardPart();\n uint256 ethReward;\n bool hasEthReward = (ethRewardPart != 0);\n\n uint256 tokenReward = totalSold.mul(tokenRewardPart) / 1000000;\n\n if (totalCollectedETH != 0) {\n totalCollected = totalCollectedETH;\n }\n\n totalCollected = IWingsController(manager).fitCollectedValueIntoRange(totalCollected);\n\n if (hasEthReward) {\n ethReward = totalCollected.mul(ethRewardPart) / 1000000;\n }\n\n return (ethReward, tokenReward);\n }\n\n // Find out whether rewards are ready to be distributed\n function rewardsAreReady() public view returns (bool) {\n uint256 ethReward;\n uint256 tokenReward;\n\n (ethReward, tokenReward) = calculateRewards();\n\n // check if there are enough eth rewards on this address\n if (ethReward > 0) {\n uint256 ethBalance = address(this).balance;\n\n if (ethBalance < ethReward) {\n return false;\n }\n }\n\n // check if there are enough tokens rewards on this address\n if (tokenReward > 0) {\n if (address(token) == address(0)) {\n return false;\n }\n\n uint256 tokenBalance = token.balanceOf(address(this));\n\n if (tokenBalance < tokenReward) {\n return false;\n }\n }\n\n return true;\n }\n\n /*\n Fallback\n */\n\n function() public payable {\n }\n}\n", "sourcePath": "/Users/solidity/Desktop/github/wings-light-bridge/contracts/Bridge.sol", "ast": { "absolutePath": "/Users/solidity/Desktop/github/wings-light-bridge/contracts/Bridge.sol", @@ -1040,7 +1082,7 @@ "body": { "id": 55, "nodeType": "Block", - "src": "1227:57:0", + "src": "1226:57:0", "statements": [ { "expression": { @@ -1059,7 +1101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 41, - "src": "1266:7:0", + "src": "1265:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1082,7 +1124,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 39, - "src": "1245:9:0", + "src": "1244:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1096,7 +1138,7 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1245:14:0", + "src": "1244:14:0", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", "typeString": "function () payable returns (bool)" @@ -1110,7 +1152,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1245:20:0", + "src": "1244:20:0", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$value_$", "typeString": "function (uint256) returns (function () payable returns (bool))" @@ -1124,7 +1166,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1245:29:0", + "src": "1244:29:0", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$value", "typeString": "function () payable returns (bool)" @@ -1138,7 +1180,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1245:31:0", + "src": "1244:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1160,7 +1202,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "1237:7:0", + "src": "1236:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -1174,7 +1216,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1237:40:0", + "src": "1236:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1182,7 +1224,7 @@ }, "id": 54, "nodeType": "ExpressionStatement", - "src": "1237:40:0" + "src": "1236:40:0" } ] }, @@ -1202,14 +1244,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 748, - "src": "1166:11:0", + "src": "1165:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1166:13:0" + "src": "1165:13:0" } ], "name": "mintETHRewards", @@ -1224,7 +1266,7 @@ "name": "_contract", "nodeType": "VariableDeclaration", "scope": 56, - "src": "996:17:0", + "src": "995:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1235,7 +1277,7 @@ "id": 38, "name": "address", "nodeType": "ElementaryTypeName", - "src": "996:7:0", + "src": "995:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1250,7 +1292,7 @@ "name": "_amount", "nodeType": "VariableDeclaration", "scope": 56, - "src": "1050:15:0", + "src": "1049:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1261,7 +1303,7 @@ "id": 40, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1050:7:0", + "src": "1049:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1271,17 +1313,17 @@ "visibility": "internal" } ], - "src": "986:156:0" + "src": "985:156:0" }, "payable": false, "returnParameters": { "id": 45, "nodeType": "ParameterList", "parameters": [], - "src": "1227:0:0" + "src": "1226:0:0" }, "scope": 617, - "src": "963:321:0", + "src": "962:321:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1290,7 +1332,7 @@ "body": { "id": 82, "nodeType": "Block", - "src": "1370:204:0", + "src": "1369:204:0", "statements": [ { "condition": { @@ -1300,7 +1342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 777, - "src": "1452:7:0", + "src": "1451:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1309,11 +1351,11 @@ "falseBody": null, "id": 77, "nodeType": "IfStatement", - "src": "1448:96:0", + "src": "1447:96:0", "trueBody": { "id": 76, "nodeType": "Block", - "src": "1461:83:0", + "src": "1460:83:0", "statements": [ { "expression": { @@ -1329,7 +1371,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1483:11:0", + "src": "1482:11:0", "subExpression": { "argumentTypes": null, "arguments": [], @@ -1342,7 +1384,7 @@ 431 ], "referencedDeclaration": 431, - "src": "1484:8:0", + "src": "1483:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" @@ -1356,7 +1398,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1484:10:0", + "src": "1483:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1383,7 +1425,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "1475:7:0", + "src": "1474:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -1397,7 +1439,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1475:20:0", + "src": "1474:20:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1405,7 +1447,7 @@ }, "id": 69, "nodeType": "ExpressionStatement", - "src": "1475:20:0" + "src": "1474:20:0" }, { "expression": { @@ -1421,7 +1463,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1517:15:0", + "src": "1516:15:0", "subExpression": { "argumentTypes": null, "arguments": [], @@ -1434,7 +1476,7 @@ 453 ], "referencedDeclaration": 453, - "src": "1518:12:0", + "src": "1517:12:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" @@ -1448,7 +1490,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1518:14:0", + "src": "1517:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1475,7 +1517,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "1509:7:0", + "src": "1508:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -1489,7 +1531,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1509:24:0", + "src": "1508:24:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1497,7 +1539,7 @@ }, "id": 75, "nodeType": "ExpressionStatement", - "src": "1509:24:0" + "src": "1508:24:0" } ] } @@ -1517,7 +1559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 779, - "src": "1553:7:0", + "src": "1552:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1535,7 +1577,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1563:4:0", + "src": "1562:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1543,7 +1585,7 @@ }, "value": "true" }, - "src": "1553:14:0", + "src": "1552:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1551,7 +1593,7 @@ }, "id": 81, "nodeType": "ExpressionStatement", - "src": "1553:14:0" + "src": "1552:14:0" } ] }, @@ -1571,14 +1613,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 748, - "src": "1338:11:0", + "src": "1337:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1338:13:0" + "src": "1337:13:0" }, { "arguments": [], @@ -1590,14 +1632,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "1352:12:0", + "src": "1351:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1352:14:0" + "src": "1351:14:0" } ], "name": "stop", @@ -1606,17 +1648,17 @@ "id": 57, "nodeType": "ParameterList", "parameters": [], - "src": "1328:2:0" + "src": "1327:2:0" }, "payable": false, "returnParameters": { "id": 62, "nodeType": "ParameterList", "parameters": [], - "src": "1370:0:0" + "src": "1369:0:0" }, "scope": 617, - "src": "1315:259:0", + "src": "1314:259:0", "stateMutability": "nonpayable", "superFunction": 874, "visibility": "public" @@ -1625,7 +1667,7 @@ "body": { "id": 125, "nodeType": "Block", - "src": "1876:204:0", + "src": "1875:204:0", "statements": [ { "expression": { @@ -1642,7 +1684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "1886:14:0", + "src": "1885:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1660,7 +1702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1922:7:0", + "src": "1921:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1681,7 +1723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "1903:14:0", + "src": "1902:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1695,7 +1737,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1131, - "src": "1903:18:0", + "src": "1902:18: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)" @@ -1709,13 +1751,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1903:27:0", + "src": "1902:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1886:44:0", + "src": "1885:44:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1723,7 +1765,7 @@ }, "id": 106, "nodeType": "ExpressionStatement", - "src": "1886:44:0" + "src": "1885:44:0" }, { "expression": { @@ -1740,7 +1782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 783, - "src": "1940:17:0", + "src": "1939:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1758,7 +1800,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 87, - "src": "1982:10:0", + "src": "1981:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1779,7 +1821,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 783, - "src": "1960:17:0", + "src": "1959:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1793,7 +1835,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1131, - "src": "1960:21:0", + "src": "1959: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)" @@ -1807,13 +1849,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1960:33:0", + "src": "1959:33:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1940:53:0", + "src": "1939:53:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1821,7 +1863,7 @@ }, "id": 113, "nodeType": "ExpressionStatement", - "src": "1940:53:0" + "src": "1939:53:0" }, { "expression": { @@ -1838,7 +1880,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 785, - "src": "2003:9:0", + "src": "2002:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1856,7 +1898,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 89, - "src": "2029:13:0", + "src": "2028:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1877,7 +1919,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 785, - "src": "2015:9:0", + "src": "2014:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1891,7 +1933,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1131, - "src": "2015:13:0", + "src": "2014:13: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)" @@ -1905,13 +1947,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2015:28:0", + "src": "2014:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2003:40:0", + "src": "2002:40:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1919,7 +1961,7 @@ }, "id": 120, "nodeType": "ExpressionStatement", - "src": "2003:40:0" + "src": "2002:40:0" }, { "expression": { @@ -1936,7 +1978,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 801, - "src": "2054:12:0", + "src": "2053:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1954,7 +1996,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2069:4:0", + "src": "2068:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1962,7 +2004,7 @@ }, "value": "true" }, - "src": "2054:19:0", + "src": "2053:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1970,7 +2012,7 @@ }, "id": 124, "nodeType": "ExpressionStatement", - "src": "2054:19:0" + "src": "2053:19:0" } ] }, @@ -1990,14 +2032,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 737, - "src": "1783:14:0", + "src": "1782:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1783:16:0" + "src": "1782:16:0" }, { "arguments": [], @@ -2009,14 +2051,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "1808:12:0", + "src": "1807:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1808:14:0" + "src": "1807:14:0" }, { "arguments": [], @@ -2028,14 +2070,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 702, - "src": "1831:18:0", + "src": "1830:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1831:20:0" + "src": "1830:20:0" }, { "arguments": [], @@ -2047,14 +2089,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1162, - "src": "1860:9:0", + "src": "1859:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1860:11:0" + "src": "1859:11:0" } ], "name": "notifySale", @@ -2069,7 +2111,7 @@ "name": "_amount", "nodeType": "VariableDeclaration", "scope": 126, - "src": "1700:15:0", + "src": "1699:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2080,7 +2122,7 @@ "id": 84, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1700:7:0", + "src": "1699:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2095,7 +2137,7 @@ "name": "_ethAmount", "nodeType": "VariableDeclaration", "scope": 126, - "src": "1717:18:0", + "src": "1716:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2106,7 +2148,7 @@ "id": 86, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1717:7:0", + "src": "1716:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2121,7 +2163,7 @@ "name": "_tokensAmount", "nodeType": "VariableDeclaration", "scope": 126, - "src": "1737:21:0", + "src": "1736:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2132,7 +2174,7 @@ "id": 88, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1737:7:0", + "src": "1736:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2142,17 +2184,17 @@ "visibility": "internal" } ], - "src": "1699:60:0" + "src": "1698:60:0" }, "payable": false, "returnParameters": { "id": 99, "nodeType": "ParameterList", "parameters": [], - "src": "1876:0:0" + "src": "1875:0:0" }, "scope": 617, - "src": "1680:400:0", + "src": "1679:400:0", "stateMutability": "nonpayable", "superFunction": 854, "visibility": "public" @@ -2161,7 +2203,7 @@ "body": { "id": 176, "nodeType": "Block", - "src": "2378:303:0", + "src": "2377:303:0", "statements": [ { "condition": { @@ -2193,7 +2235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2392:15:0", + "src": "2391:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2211,7 +2253,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2410:1:0", + "src": "2409:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2219,7 +2261,7 @@ }, "value": "0" }, - "src": "2392:19:0", + "src": "2391:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2245,7 +2287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "2415:13:0", + "src": "2414:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2263,7 +2305,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2431:1:0", + "src": "2430:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2271,13 +2313,13 @@ }, "value": "0" }, - "src": "2415:17:0", + "src": "2414:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2392:40:0", + "src": "2391:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2286,11 +2328,11 @@ "falseBody": null, "id": 155, "nodeType": "IfStatement", - "src": "2388:111:0", + "src": "2387:111:0", "trueBody": { "id": 154, "nodeType": "Block", - "src": "2434:65:0", + "src": "2433:65:0", "statements": [ { "expression": { @@ -2314,7 +2356,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "2456:13:0", + "src": "2455:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2329,13 +2371,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2472:15:0", + "src": "2471:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2456:31:0", + "src": "2455:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2357,7 +2399,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "2448:7:0", + "src": "2447:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2371,7 +2413,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2448:40:0", + "src": "2447:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2379,7 +2421,7 @@ }, "id": 153, "nodeType": "ExpressionStatement", - "src": "2448:40:0" + "src": "2447:40:0" } ] } @@ -2399,7 +2441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 791, - "src": "2509:14:0", + "src": "2508:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2414,13 +2456,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2526:15:0", + "src": "2525:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2509:32:0", + "src": "2508:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2428,7 +2470,7 @@ }, "id": 159, "nodeType": "ExpressionStatement", - "src": "2509:32:0" + "src": "2508:32:0" }, { "expression": { @@ -2445,7 +2487,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 793, - "src": "2551:12:0", + "src": "2550:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2460,13 +2502,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "2566:13:0", + "src": "2565:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2551:28:0", + "src": "2550:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2474,7 +2516,7 @@ }, "id": 163, "nodeType": "ExpressionStatement", - "src": "2551:28:0" + "src": "2550:28:0" }, { "expression": { @@ -2491,7 +2533,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 777, - "src": "2590:7:0", + "src": "2589:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2509,7 +2551,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2600:4:0", + "src": "2599:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2517,7 +2559,7 @@ }, "value": "true" }, - "src": "2590:14:0", + "src": "2589:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2525,7 +2567,7 @@ }, "id": 167, "nodeType": "ExpressionStatement", - "src": "2590:14:0" + "src": "2589:14:0" }, { "expression": { @@ -2538,7 +2580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2631:15:0", + "src": "2630:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2551,7 +2593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "2648:13:0", + "src": "2647:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2570,7 +2612,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2671:1:0", + "src": "2670:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2592,7 +2634,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2663:7:0", + "src": "2662:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2607,7 +2649,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2663:10:0", + "src": "2662:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2634,7 +2676,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 673, - "src": "2615:15:0", + "src": "2614:15:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,uint256,address)" @@ -2648,7 +2690,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2615:59:0", + "src": "2614:59:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2656,7 +2698,7 @@ }, "id": 175, "nodeType": "ExpressionStatement", - "src": "2615:59:0" + "src": "2614:59:0" } ] }, @@ -2676,14 +2718,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "2314:12:0", + "src": "2313:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2314:14:0" + "src": "2313:14:0" }, { "arguments": [], @@ -2695,14 +2737,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "2337:12:0", + "src": "2336:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2337:14:0" + "src": "2336:14:0" }, { "arguments": [], @@ -2714,14 +2756,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 748, - "src": "2360:11:0", + "src": "2359:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2360:13:0" + "src": "2359:13:0" } ], "name": "start", @@ -2736,7 +2778,7 @@ "name": "_startTimestamp", "nodeType": "VariableDeclaration", "scope": 177, - "src": "2193:23:0", + "src": "2192:23:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2747,7 +2789,7 @@ "id": 127, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2193:7:0", + "src": "2192:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2762,7 +2804,7 @@ "name": "_endTimestamp", "nodeType": "VariableDeclaration", "scope": 177, - "src": "2226:21:0", + "src": "2225:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2773,7 +2815,7 @@ "id": 129, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2226:7:0", + "src": "2225:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2788,7 +2830,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 177, - "src": "2257:7:0", + "src": "2256:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2799,7 +2841,7 @@ "id": 131, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2257:7:0", + "src": "2256:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2809,17 +2851,17 @@ "visibility": "internal" } ], - "src": "2183:107:0" + "src": "2182:107:0" }, "payable": false, "returnParameters": { "id": 140, "nodeType": "ParameterList", "parameters": [], - "src": "2378:0:0" + "src": "2377:0:0" }, "scope": 617, - "src": "2169:512:0", + "src": "2168:512:0", "stateMutability": "nonpayable", "superFunction": 883, "visibility": "public" @@ -2828,7 +2870,7 @@ "body": { "id": 214, "nodeType": "Block", - "src": "2845:404:0", + "src": "2844:404:0", "statements": [ { "expression": { @@ -2841,7 +2883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 801, - "src": "2946:12:0", + "src": "2945:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2863,7 +2905,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "2938:7:0", + "src": "2937:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2877,7 +2919,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2938:21:0", + "src": "2937:21:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2885,7 +2927,7 @@ }, "id": 191, "nodeType": "ExpressionStatement", - "src": "2938:21:0" + "src": "2937:21:0" }, { "condition": { @@ -2898,7 +2940,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2974:17:0", + "src": "2973:17:0", "subExpression": { "argumentTypes": null, "arguments": [], @@ -2909,7 +2951,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 463, - "src": "2975:14:0", + "src": "2974:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" @@ -2923,7 +2965,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2975:16:0", + "src": "2974:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2937,7 +2979,7 @@ "falseBody": { "id": 205, "nodeType": "Block", - "src": "3037:143:0", + "src": "3036:143:0", "statements": [ { "expression": { @@ -2953,7 +2995,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 612, - "src": "3151:15:0", + "src": "3150:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" @@ -2967,7 +3009,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3151:17:0", + "src": "3150:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2989,7 +3031,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "3143:7:0", + "src": "3142:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3003,7 +3045,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3143:26:0", + "src": "3142:26:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3011,17 +3053,17 @@ }, "id": 204, "nodeType": "ExpressionStatement", - "src": "3143:26:0" + "src": "3142:26:0" } ] }, "id": 206, "nodeType": "IfStatement", - "src": "2970:210:0", + "src": "2969:210:0", "trueBody": { "id": 199, "nodeType": "Block", - "src": "2993:38:0", + "src": "2992:38:0", "statements": [ { "expression": { @@ -3038,7 +3080,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "3007:6:0", + "src": "3006:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3056,7 +3098,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3016:4:0", + "src": "3015:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3064,7 +3106,7 @@ }, "value": "true" }, - "src": "3007:13:0", + "src": "3006:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3072,7 +3114,7 @@ }, "id": 198, "nodeType": "ExpressionStatement", - "src": "3007:13:0" + "src": "3006:13:0" } ] } @@ -3092,7 +3134,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 797, - "src": "3190:9:0", + "src": "3189:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3110,7 +3152,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3202:4:0", + "src": "3201:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3118,7 +3160,7 @@ }, "value": "true" }, - "src": "3190:16:0", + "src": "3189:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3126,7 +3168,7 @@ }, "id": 210, "nodeType": "ExpressionStatement", - "src": "3190:16:0" + "src": "3189:16:0" }, { "expression": { @@ -3139,7 +3181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 693, - "src": "3217:23:0", + "src": "3216:23:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" @@ -3153,7 +3195,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3217:25:0", + "src": "3216:25:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3161,7 +3203,7 @@ }, "id": 213, "nodeType": "ExpressionStatement", - "src": "3217:25:0" + "src": "3216:25:0" } ] }, @@ -3181,14 +3223,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "2752:12:0", + "src": "2751:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2752:14:0" + "src": "2751:14:0" }, { "arguments": [], @@ -3200,14 +3242,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 737, - "src": "2775:14:0", + "src": "2774:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2775:16:0" + "src": "2774:16:0" }, { "arguments": [], @@ -3219,14 +3261,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 702, - "src": "2800:18:0", + "src": "2799:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2800:20:0" + "src": "2799:20:0" }, { "arguments": [], @@ -3238,14 +3280,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1162, - "src": "2829:9:0", + "src": "2828:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2829:11:0" + "src": "2828:11:0" } ], "name": "finish", @@ -3254,17 +3296,17 @@ "id": 178, "nodeType": "ParameterList", "parameters": [], - "src": "2726:2:0" + "src": "2725:2:0" }, "payable": false, "returnParameters": { "id": 187, "nodeType": "ParameterList", "parameters": [], - "src": "2845:0:0" + "src": "2844:0:0" }, "scope": 617, - "src": "2711:538:0", + "src": "2710:538:0", "stateMutability": "nonpayable", "superFunction": 864, "visibility": "public" @@ -3273,7 +3315,7 @@ "body": { "id": 255, "nodeType": "Block", - "src": "3438:236:0", + "src": "3437:236:0", "statements": [ { "expression": { @@ -3290,7 +3332,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "3448:5:0", + "src": "3447:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -3308,7 +3350,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "3470:9:0", + "src": "3469:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3327,7 +3369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1308, - "src": "3456:13:0", + "src": "3455:13:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$1308_$", "typeString": "type(contract DetailedERC20)" @@ -3341,13 +3383,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3456:24:0", + "src": "3455:24:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" } }, - "src": "3448:32:0", + "src": "3447:32:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -3355,7 +3397,7 @@ }, "id": 229, "nodeType": "ExpressionStatement", - "src": "3448:32:0" + "src": "3447:32:0" }, { "assignments": [ @@ -3368,7 +3410,7 @@ "name": "tokenDecimals", "nodeType": "VariableDeclaration", "scope": 256, - "src": "3491:19:0", + "src": "3490:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3379,7 +3421,7 @@ "id": 230, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3491:5:0", + "src": "3490:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3405,7 +3447,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "3519:5:0", + "src": "3518:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -3419,7 +3461,7 @@ "memberName": "decimals", "nodeType": "MemberAccess", "referencedDeclaration": 1285, - "src": "3519:14:0", + "src": "3518:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -3433,7 +3475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3519:16:0", + "src": "3518:16:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3453,7 +3495,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3513:5:0", + "src": "3512:5:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" @@ -3468,14 +3510,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3513:23:0", + "src": "3512:23:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "3491:45:0" + "src": "3490:45:0" }, { "expression": { @@ -3510,7 +3552,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 231, - "src": "3555:13:0", + "src": "3554:13:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3528,7 +3570,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3572:1:0", + "src": "3571:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -3536,7 +3578,7 @@ }, "value": "8" }, - "src": "3555:18:0", + "src": "3554:18:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3562,7 +3604,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 231, - "src": "3577:13:0", + "src": "3576:13:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3580,7 +3622,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3594:2:0", + "src": "3593:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -3588,13 +3630,13 @@ }, "value": "18" }, - "src": "3577:19:0", + "src": "3576:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3555:41:0", + "src": "3554:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3616,7 +3658,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "3547:7:0", + "src": "3546:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3630,7 +3672,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3547:50:0", + "src": "3546:50:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3638,7 +3680,7 @@ }, "id": 247, "nodeType": "ExpressionStatement", - "src": "3547:50:0" + "src": "3546:50:0" }, { "expression": { @@ -3654,7 +3696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "3645:5:0", + "src": "3644:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -3674,7 +3716,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3637:7:0", + "src": "3636:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -3689,7 +3731,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3637:14:0", + "src": "3636:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3702,7 +3744,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 231, - "src": "3653:13:0", + "src": "3652:13:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3725,7 +3767,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 679, - "src": "3608:28:0", + "src": "3607:28:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint8_$returns$__$", "typeString": "function (address,uint8)" @@ -3739,7 +3781,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3608:59:0", + "src": "3607:59:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3747,7 +3789,7 @@ }, "id": 254, "nodeType": "ExpressionStatement", - "src": "3608:59:0" + "src": "3607:59:0" } ] }, @@ -3767,14 +3809,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 764, - "src": "3403:18:0", + "src": "3402:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3403:20:0" + "src": "3402:20:0" }, { "arguments": [], @@ -3786,14 +3828,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 773, - "src": "3424:11:0", + "src": "3423:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3424:13:0" + "src": "3423:13:0" } ], "name": "changeToken", @@ -3808,7 +3850,7 @@ "name": "_newToken", "nodeType": "VariableDeclaration", "scope": 256, - "src": "3377:17:0", + "src": "3376:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3819,7 +3861,7 @@ "id": 216, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3377:7:0", + "src": "3376:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3829,17 +3871,17 @@ "visibility": "internal" } ], - "src": "3376:19:0" + "src": "3375:19:0" }, "payable": false, "returnParameters": { "id": 223, "nodeType": "ParameterList", "parameters": [], - "src": "3438:0:0" + "src": "3437:0:0" }, "scope": 617, - "src": "3356:318:0", + "src": "3355:318:0", "stateMutability": "nonpayable", "superFunction": 831, "visibility": "public" @@ -3848,7 +3890,7 @@ "body": { "id": 300, "nodeType": "Block", - "src": "3821:283:0", + "src": "3820:283:0", "statements": [ { "condition": { @@ -3880,7 +3922,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 258, - "src": "3835:12:0", + "src": "3834:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3898,7 +3940,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3850:1:0", + "src": "3849:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3906,7 +3948,7 @@ }, "value": "0" }, - "src": "3835:16:0", + "src": "3834:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3932,7 +3974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 260, - "src": "3855:8:0", + "src": "3854:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3950,7 +3992,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3866:1:0", + "src": "3865:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3958,13 +4000,13 @@ }, "value": "0" }, - "src": "3855:12:0", + "src": "3854:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3835:32:0", + "src": "3834:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3973,11 +4015,11 @@ "falseBody": null, "id": 281, "nodeType": "IfStatement", - "src": "3831:95:0", + "src": "3830:95:0", "trueBody": { "id": 280, "nodeType": "Block", - "src": "3869:57:0", + "src": "3868:57:0", "statements": [ { "expression": { @@ -4001,7 +4043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 260, - "src": "3891:8:0", + "src": "3890:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4016,13 +4058,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 258, - "src": "3902:12:0", + "src": "3901:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3891:23:0", + "src": "3890:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4044,7 +4086,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "3883:7:0", + "src": "3882:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4058,7 +4100,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3883:32:0", + "src": "3882:32:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4066,7 +4108,7 @@ }, "id": 279, "nodeType": "ExpressionStatement", - "src": "3883:32:0" + "src": "3882:32:0" } ] } @@ -4090,7 +4132,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 258, - "src": "3940:12:0", + "src": "3939:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4108,7 +4150,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3955:1:0", + "src": "3954:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4116,7 +4158,7 @@ }, "value": "0" }, - "src": "3940:16:0", + "src": "3939:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4125,11 +4167,11 @@ "falseBody": null, "id": 290, "nodeType": "IfStatement", - "src": "3936:73:0", + "src": "3935:73:0", "trueBody": { "id": 289, "nodeType": "Block", - "src": "3958:51:0", + "src": "3957:51:0", "statements": [ { "expression": { @@ -4146,7 +4188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 787, - "src": "3972:11:0", + "src": "3971:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4161,13 +4203,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 258, - "src": "3986:12:0", + "src": "3985:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3972:26:0", + "src": "3971:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4175,7 +4217,7 @@ }, "id": 288, "nodeType": "ExpressionStatement", - "src": "3972:26:0" + "src": "3971:26:0" } ] } @@ -4195,7 +4237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 789, - "src": "4019:7:0", + "src": "4018:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4210,13 +4252,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 260, - "src": "4029:8:0", + "src": "4028:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4019:18:0", + "src": "4018:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4224,7 +4266,7 @@ }, "id": 294, "nodeType": "ExpressionStatement", - "src": "4019:18:0" + "src": "4018:18:0" }, { "expression": { @@ -4237,7 +4279,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 787, - "src": "4076:11:0", + "src": "4075:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4250,7 +4292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 789, - "src": "4089:7:0", + "src": "4088:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4273,7 +4315,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 685, - "src": "4048:27:0", + "src": "4047:27:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" @@ -4287,7 +4329,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4048:49:0", + "src": "4047:49:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4295,7 +4337,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "4048:49:0" + "src": "4047:49:0" } ] }, @@ -4315,14 +4357,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 764, - "src": "3786:18:0", + "src": "3785:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3786:20:0" + "src": "3785:20:0" }, { "arguments": [], @@ -4334,14 +4376,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 773, - "src": "3807:11:0", + "src": "3806:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3807:13:0" + "src": "3806:13:0" } ], "name": "setCrowdsaleGoal", @@ -4356,7 +4398,7 @@ "name": "_minimalGoal", "nodeType": "VariableDeclaration", "scope": 301, - "src": "3739:20:0", + "src": "3738:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4367,7 +4409,7 @@ "id": 257, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3739:7:0", + "src": "3738:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4382,7 +4424,7 @@ "name": "_hardCap", "nodeType": "VariableDeclaration", "scope": 301, - "src": "3761:16:0", + "src": "3760:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4393,7 +4435,7 @@ "id": 259, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3761:7:0", + "src": "3760:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4403,17 +4445,17 @@ "visibility": "internal" } ], - "src": "3738:40:0" + "src": "3737:40:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "3821:0:0" + "src": "3820:0:0" }, "scope": 617, - "src": "3713:391:0", + "src": "3712:391:0", "stateMutability": "nonpayable", "superFunction": 838, "visibility": "public" @@ -4422,7 +4464,7 @@ "body": { "id": 340, "nodeType": "Block", - "src": "4263:278:0", + "src": "4262:278:0", "statements": [ { "condition": { @@ -4454,7 +4496,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 303, - "src": "4277:15:0", + "src": "4276:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4472,7 +4514,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4295:1:0", + "src": "4294:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4480,7 +4522,7 @@ }, "value": "0" }, - "src": "4277:19:0", + "src": "4276:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4506,7 +4548,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 305, - "src": "4300:13:0", + "src": "4299:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4524,7 +4566,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4316:1:0", + "src": "4315:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4532,13 +4574,13 @@ }, "value": "0" }, - "src": "4300:17:0", + "src": "4299:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4277:40:0", + "src": "4276:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4547,11 +4589,11 @@ "falseBody": null, "id": 326, "nodeType": "IfStatement", - "src": "4273:111:0", + "src": "4272:111:0", "trueBody": { "id": 325, "nodeType": "Block", - "src": "4319:65:0", + "src": "4318:65:0", "statements": [ { "expression": { @@ -4575,7 +4617,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 305, - "src": "4341:13:0", + "src": "4340:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4590,13 +4632,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 303, - "src": "4357:15:0", + "src": "4356:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4341:31:0", + "src": "4340:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4618,7 +4660,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "4333:7:0", + "src": "4332:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4632,7 +4674,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4333:40:0", + "src": "4332:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4640,7 +4682,7 @@ }, "id": 324, "nodeType": "ExpressionStatement", - "src": "4333:40:0" + "src": "4332:40:0" } ] } @@ -4660,7 +4702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 791, - "src": "4394:14:0", + "src": "4393:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4675,13 +4717,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 303, - "src": "4411:15:0", + "src": "4410:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4394:32:0", + "src": "4393:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4689,7 +4731,7 @@ }, "id": 330, "nodeType": "ExpressionStatement", - "src": "4394:32:0" + "src": "4393:32:0" }, { "expression": { @@ -4706,7 +4748,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 793, - "src": "4436:12:0", + "src": "4435:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4721,13 +4763,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 305, - "src": "4451:13:0", + "src": "4450:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4436:28:0", + "src": "4435:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4735,7 +4777,7 @@ }, "id": 334, "nodeType": "ExpressionStatement", - "src": "4436:28:0" + "src": "4435:28:0" }, { "expression": { @@ -4748,7 +4790,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 791, - "src": "4505:14:0", + "src": "4504:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4761,7 +4803,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 793, - "src": "4521:12:0", + "src": "4520:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4784,7 +4826,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 691, - "src": "4475:29:0", + "src": "4474:29:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" @@ -4798,7 +4840,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4475:59:0", + "src": "4474:59:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4806,7 +4848,7 @@ }, "id": 339, "nodeType": "ExpressionStatement", - "src": "4475:59:0" + "src": "4474:59:0" } ] }, @@ -4826,14 +4868,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 764, - "src": "4228:18:0", + "src": "4227:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4228:20:0" + "src": "4227:20:0" }, { "arguments": [], @@ -4845,14 +4887,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 773, - "src": "4249:11:0", + "src": "4248:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4249:13:0" + "src": "4248:13:0" } ], "name": "setCrowdsalePeriod", @@ -4867,7 +4909,7 @@ "name": "_startTimestamp", "nodeType": "VariableDeclaration", "scope": 341, - "src": "4173:23:0", + "src": "4172:23:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4878,7 +4920,7 @@ "id": 302, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4173:7:0", + "src": "4172:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4893,7 +4935,7 @@ "name": "_endTimestamp", "nodeType": "VariableDeclaration", "scope": 341, - "src": "4198:21:0", + "src": "4197:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4904,7 +4946,7 @@ "id": 304, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4198:7:0", + "src": "4197:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4914,17 +4956,17 @@ "visibility": "internal" } ], - "src": "4172:48:0" + "src": "4171:48:0" }, "payable": false, "returnParameters": { "id": 311, "nodeType": "ParameterList", "parameters": [], - "src": "4263:0:0" + "src": "4262:0:0" }, "scope": 617, - "src": "4145:396:0", + "src": "4144:396:0", "stateMutability": "nonpayable", "superFunction": 845, "visibility": "public" @@ -4933,7 +4975,7 @@ "body": { "id": 412, "nodeType": "Block", - "src": "4791:459:0", + "src": "4790:459:0", "statements": [ { "condition": { @@ -4954,7 +4996,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 797, - "src": "4805:9:0", + "src": "4804:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4972,7 +5014,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4818:7:0", + "src": "4817:7:0", "subExpression": { "argumentTypes": null, "id": 351, @@ -4980,7 +5022,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "4819:6:0", + "src": "4818:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4991,7 +5033,7 @@ "typeString": "bool" } }, - "src": "4805:20:0", + "src": "4804:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5000,11 +5042,11 @@ "falseBody": null, "id": 358, "nodeType": "IfStatement", - "src": "4801:59:0", + "src": "4800:59:0", "trueBody": { "id": 357, "nodeType": "Block", - "src": "4827:33:0", + "src": "4826:33:0", "statements": [ { "expression": { @@ -5020,7 +5062,7 @@ 1401 ], "referencedDeclaration": 1400, - "src": "4841:6:0", + "src": "4840:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" @@ -5034,7 +5076,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4841:8:0", + "src": "4840:8:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5042,7 +5084,7 @@ }, "id": 356, "nodeType": "ExpressionStatement", - "src": "4841:8:0" + "src": "4840:8:0" } ] } @@ -5058,7 +5100,7 @@ "name": "ethBalance", "nodeType": "VariableDeclaration", "scope": 413, - "src": "4870:18:0", + "src": "4869:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5069,7 +5111,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4870:7:0", + "src": "4869:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5092,7 +5134,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, - "src": "4899:4:0", + "src": "4898:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Bridge_$617", "typeString": "contract Bridge" @@ -5112,7 +5154,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4891:7:0", + "src": "4890:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -5127,7 +5169,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4891:13:0", + "src": "4890:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5141,14 +5183,14 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4891:21:0", + "src": "4890:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4870:42:0" + "src": "4869:42:0" }, { "assignments": [ @@ -5161,7 +5203,7 @@ "name": "tokenBalance", "nodeType": "VariableDeclaration", "scope": 413, - "src": "4922:20:0", + "src": "4921:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5172,7 +5214,7 @@ "id": 366, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4922:7:0", + "src": "4921:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5196,7 +5238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, - "src": "4969:4:0", + "src": "4968:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Bridge_$617", "typeString": "contract Bridge" @@ -5216,7 +5258,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4961:7:0", + "src": "4960:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -5231,7 +5273,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4961:13:0", + "src": "4960:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5252,7 +5294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "4945:5:0", + "src": "4944:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -5266,7 +5308,7 @@ "memberName": "balanceOf", "nodeType": "MemberAccess", "referencedDeclaration": 1362, - "src": "4945:15:0", + "src": "4944:15:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -5280,14 +5322,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4945:30:0", + "src": "4944:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4922:53:0" + "src": "4921:53:0" }, { "expression": { @@ -5322,7 +5364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "4994:10:0", + "src": "4993:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5337,13 +5379,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "5008:10:0", + "src": "5007:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4994:24:0", + "src": "4993:24:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5369,7 +5411,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 367, - "src": "5022:12:0", + "src": "5021:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5384,19 +5426,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 345, - "src": "5038:12:0", + "src": "5037:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5022:28:0", + "src": "5021:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4994:56:0", + "src": "4993:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5418,7 +5460,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "4986:7:0", + "src": "4985:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5432,7 +5474,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4986:65:0", + "src": "4985:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5440,7 +5482,7 @@ }, "id": 384, "nodeType": "ExpressionStatement", - "src": "4986:65:0" + "src": "4985:65:0" }, { "condition": { @@ -5461,7 +5503,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "5066:10:0", + "src": "5065:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5479,7 +5521,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5079:1:0", + "src": "5078:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5487,7 +5529,7 @@ }, "value": "0" }, - "src": "5066:14:0", + "src": "5065:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5496,11 +5538,11 @@ "falseBody": null, "id": 397, "nodeType": "IfStatement", - "src": "5062:76:0", + "src": "5061:76:0", "trueBody": { "id": 396, "nodeType": "Block", - "src": "5082:56:0", + "src": "5081:56:0", "statements": [ { "expression": { @@ -5513,7 +5555,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "5116:10:0", + "src": "5115:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5536,7 +5578,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "5096:3:0", + "src": "5095:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5550,7 +5592,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5096:10:0", + "src": "5095:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5564,7 +5606,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5096:19:0", + "src": "5095:19:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -5578,7 +5620,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5096:31:0", + "src": "5095:31:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5586,7 +5628,7 @@ }, "id": 395, "nodeType": "ExpressionStatement", - "src": "5096:31:0" + "src": "5095:31:0" } ] } @@ -5610,7 +5652,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 345, - "src": "5152:12:0", + "src": "5151:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5628,7 +5670,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5167:1:0", + "src": "5166:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5636,7 +5678,7 @@ }, "value": "0" }, - "src": "5152:16:0", + "src": "5151:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5645,11 +5687,11 @@ "falseBody": null, "id": 411, "nodeType": "IfStatement", - "src": "5148:96:0", + "src": "5147:96:0", "trueBody": { "id": 410, "nodeType": "Block", - "src": "5170:74:0", + "src": "5169:74:0", "statements": [ { "expression": { @@ -5667,7 +5709,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "5207:3:0", + "src": "5206:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5681,7 +5723,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5207:10:0", + "src": "5206:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5694,7 +5736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 345, - "src": "5219:12:0", + "src": "5218:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5719,7 +5761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "5192:5:0", + "src": "5191:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -5733,7 +5775,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1371, - "src": "5192:14:0", + "src": "5191:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -5747,7 +5789,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5192:40:0", + "src": "5191:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5769,7 +5811,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "5184:7:0", + "src": "5183:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5783,7 +5825,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5184:49:0", + "src": "5183:49:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5791,7 +5833,7 @@ }, "id": 409, "nodeType": "ExpressionStatement", - "src": "5184:49:0" + "src": "5183:49:0" } ] } @@ -5814,14 +5856,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1162, - "src": "4779:9:0", + "src": "4778:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4779:11:0" + "src": "4778:11:0" } ], "name": "withdraw", @@ -5836,7 +5878,7 @@ "name": "_ethAmount", "nodeType": "VariableDeclaration", "scope": 413, - "src": "4730:18:0", + "src": "4729:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5847,7 +5889,7 @@ "id": 342, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4730:7:0", + "src": "4729:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5862,7 +5904,7 @@ "name": "_tokenAmount", "nodeType": "VariableDeclaration", "scope": 413, - "src": "4750:20:0", + "src": "4749:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5873,7 +5915,7 @@ "id": 344, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4750:7:0", + "src": "4749:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5883,17 +5925,17 @@ "visibility": "internal" } ], - "src": "4729:42:0" + "src": "4728:42:0" }, "payable": false, "returnParameters": { "id": 349, "nodeType": "ParameterList", "parameters": [], - "src": "4791:0:0" + "src": "4790:0:0" }, "scope": 617, - "src": "4712:538:0", + "src": "4711:538:0", "stateMutability": "nonpayable", "superFunction": 871, "visibility": "public" @@ -5902,7 +5944,7 @@ "body": { "id": 422, "nodeType": "Block", - "src": "5384:38:0", + "src": "5383:38:0", "statements": [ { "expression": { @@ -5915,7 +5957,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "5409:5:0", + "src": "5408:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -5935,7 +5977,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5401:7:0", + "src": "5400:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -5950,7 +5992,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5401:14:0", + "src": "5400:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5959,7 +6001,7 @@ "functionReturnParameters": 417, "id": 421, "nodeType": "Return", - "src": "5394:21:0" + "src": "5393:21:0" } ] }, @@ -5975,7 +6017,7 @@ "id": 414, "nodeType": "ParameterList", "parameters": [], - "src": "5351:2:0" + "src": "5350:2:0" }, "payable": false, "returnParameters": { @@ -5988,7 +6030,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 423, - "src": "5375:7:0", + "src": "5374:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5999,7 +6041,7 @@ "id": 415, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5375:7:0", + "src": "5374:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6009,10 +6051,10 @@ "visibility": "internal" } ], - "src": "5374:9:0" + "src": "5373:9:0" }, "scope": 617, - "src": "5334:88:0", + "src": "5333:88:0", "stateMutability": "view", "superFunction": 826, "visibility": "public" @@ -6021,7 +6063,7 @@ "body": { "id": 430, "nodeType": "Block", - "src": "5475:30:0", + "src": "5474:30:0", "statements": [ { "expression": { @@ -6031,7 +6073,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "5492:6:0", + "src": "5491:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6040,7 +6082,7 @@ "functionReturnParameters": 427, "id": 429, "nodeType": "Return", - "src": "5485:13:0" + "src": "5484:13:0" } ] }, @@ -6056,7 +6098,7 @@ "id": 424, "nodeType": "ParameterList", "parameters": [], - "src": "5445:2:0" + "src": "5444:2:0" }, "payable": false, "returnParameters": { @@ -6069,7 +6111,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 431, - "src": "5469:4:0", + "src": "5468:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6080,7 +6122,7 @@ "id": 425, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5469:4:0", + "src": "5468:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6090,10 +6132,10 @@ "visibility": "internal" } ], - "src": "5468:6:0" + "src": "5467:6:0" }, "scope": 617, - "src": "5428:77:0", + "src": "5427:77:0", "stateMutability": "view", "superFunction": 888, "visibility": "public" @@ -6102,7 +6144,7 @@ "body": { "id": 441, "nodeType": "Block", - "src": "5558:45:0", + "src": "5557:45:0", "statements": [ { "expression": { @@ -6123,7 +6165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 777, - "src": "5575:7:0", + "src": "5574:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6141,7 +6183,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "5586:10:0", + "src": "5585:10:0", "subExpression": { "argumentTypes": null, "id": 437, @@ -6149,7 +6191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 797, - "src": "5587:9:0", + "src": "5586:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6160,7 +6202,7 @@ "typeString": "bool" } }, - "src": "5575:21:0", + "src": "5574:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6169,7 +6211,7 @@ "functionReturnParameters": 435, "id": 440, "nodeType": "Return", - "src": "5568:28:0" + "src": "5567:28:0" } ] }, @@ -6185,7 +6227,7 @@ "id": 432, "nodeType": "ParameterList", "parameters": [], - "src": "5528:2:0" + "src": "5527:2:0" }, "payable": false, "returnParameters": { @@ -6198,7 +6240,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 442, - "src": "5552:4:0", + "src": "5551:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6209,7 +6251,7 @@ "id": 433, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5552:4:0", + "src": "5551:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6219,10 +6261,10 @@ "visibility": "internal" } ], - "src": "5551:6:0" + "src": "5550:6:0" }, "scope": 617, - "src": "5511:92:0", + "src": "5510:92:0", "stateMutability": "view", "superFunction": 893, "visibility": "public" @@ -6231,7 +6273,7 @@ "body": { "id": 452, "nodeType": "Block", - "src": "5660:44:0", + "src": "5659:44:0", "statements": [ { "expression": { @@ -6252,7 +6294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 797, - "src": "5677:9:0", + "src": "5676:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6270,7 +6312,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "5690:7:0", + "src": "5689:7:0", "subExpression": { "argumentTypes": null, "id": 448, @@ -6278,7 +6320,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "5691:6:0", + "src": "5690:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6289,7 +6331,7 @@ "typeString": "bool" } }, - "src": "5677:20:0", + "src": "5676:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6298,7 +6340,7 @@ "functionReturnParameters": 446, "id": 451, "nodeType": "Return", - "src": "5670:27:0" + "src": "5669:27:0" } ] }, @@ -6314,7 +6356,7 @@ "id": 443, "nodeType": "ParameterList", "parameters": [], - "src": "5630:2:0" + "src": "5629:2:0" }, "payable": false, "returnParameters": { @@ -6327,7 +6369,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 453, - "src": "5654:4:0", + "src": "5653:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6338,7 +6380,7 @@ "id": 444, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5654:4:0", + "src": "5653:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6348,10 +6390,10 @@ "visibility": "internal" } ], - "src": "5653:6:0" + "src": "5652:6:0" }, "scope": 617, - "src": "5609:95:0", + "src": "5608:95:0", "stateMutability": "view", "superFunction": 898, "visibility": "public" @@ -6360,7 +6402,7 @@ "body": { "id": 462, "nodeType": "Block", - "src": "5763:53:0", + "src": "5762:53:0", "statements": [ { "expression": { @@ -6381,7 +6423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "5780:14:0", + "src": "5779:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6396,13 +6438,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 787, - "src": "5798:11:0", + "src": "5797:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5780:29:0", + "src": "5779:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6411,7 +6453,7 @@ "functionReturnParameters": 457, "id": 461, "nodeType": "Return", - "src": "5773:36:0" + "src": "5772:36:0" } ] }, @@ -6427,7 +6469,7 @@ "id": 454, "nodeType": "ParameterList", "parameters": [], - "src": "5733:2:0" + "src": "5732:2:0" }, "payable": false, "returnParameters": { @@ -6440,7 +6482,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 463, - "src": "5757:4:0", + "src": "5756:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6451,7 +6493,7 @@ "id": 455, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5757:4:0", + "src": "5756:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6461,10 +6503,10 @@ "visibility": "internal" } ], - "src": "5756:6:0" + "src": "5755:6:0" }, "scope": 617, - "src": "5710:106:0", + "src": "5709:106:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -6473,7 +6515,7 @@ "body": { "id": 539, "nodeType": "Block", - "src": "5945:654:0", + "src": "5944:654:0", "statements": [ { "assignments": [ @@ -6486,7 +6528,7 @@ "name": "tokenRewardPart", "nodeType": "VariableDeclaration", "scope": 540, - "src": "5955:23:0", + "src": "5954:23:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6497,7 +6539,7 @@ "id": 470, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5955:7:0", + "src": "5954:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6523,7 +6565,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "5998:7:0", + "src": "5997:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6542,7 +6584,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 941, - "src": "5981:16:0", + "src": "5980:16:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWingsController_$941_$", "typeString": "type(contract IWingsController)" @@ -6556,7 +6598,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5981:25:0", + "src": "5980:25:0", "typeDescriptions": { "typeIdentifier": "t_contract$_IWingsController_$941", "typeString": "contract IWingsController" @@ -6570,7 +6612,7 @@ "memberName": "tokenRewardPart", "nodeType": "MemberAccess", "referencedDeclaration": 924, - "src": "5981:41:0", + "src": "5980:41:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" @@ -6584,14 +6626,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5981:43:0", + "src": "5980:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "5955:69:0" + "src": "5954:69:0" }, { "assignments": [ @@ -6604,7 +6646,7 @@ "name": "ethRewardPart", "nodeType": "VariableDeclaration", "scope": 540, - "src": "6034:21:0", + "src": "6033:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6615,7 +6657,7 @@ "id": 478, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6034:7:0", + "src": "6033:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6641,7 +6683,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "6075:7:0", + "src": "6074:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6660,7 +6702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 941, - "src": "6058:16:0", + "src": "6057:16:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWingsController_$941_$", "typeString": "type(contract IWingsController)" @@ -6674,7 +6716,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6058:25:0", + "src": "6057:25:0", "typeDescriptions": { "typeIdentifier": "t_contract$_IWingsController_$941", "typeString": "contract IWingsController" @@ -6688,7 +6730,7 @@ "memberName": "ethRewardPart", "nodeType": "MemberAccess", "referencedDeclaration": 922, - "src": "6058:39:0", + "src": "6057:39:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" @@ -6702,14 +6744,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6058:41:0", + "src": "6057:41:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6034:65:0" + "src": "6033:65:0" }, { "assignments": [], @@ -6720,7 +6762,7 @@ "name": "ethReward", "nodeType": "VariableDeclaration", "scope": 540, - "src": "6109:17:0", + "src": "6108:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6731,7 +6773,7 @@ "id": 486, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6109:7:0", + "src": "6108:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6744,7 +6786,7 @@ "id": 488, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "6109:17:0" + "src": "6108:17:0" }, { "assignments": [ @@ -6757,7 +6799,7 @@ "name": "hasEthReward", "nodeType": "VariableDeclaration", "scope": 540, - "src": "6136:17:0", + "src": "6135:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6768,7 +6810,7 @@ "id": 489, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6136:4:0", + "src": "6135:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6800,7 +6842,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 479, - "src": "6157:13:0", + "src": "6156:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6818,7 +6860,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6174:1:0", + "src": "6173:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6826,7 +6868,7 @@ }, "value": "0" }, - "src": "6157:18:0", + "src": "6156:18:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6840,14 +6882,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6156:20:0", + "src": "6155:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "6136:40:0" + "src": "6135:40:0" }, { "assignments": [ @@ -6860,7 +6902,7 @@ "name": "tokenReward", "nodeType": "VariableDeclaration", "scope": 540, - "src": "6187:19:0", + "src": "6186:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6871,7 +6913,7 @@ "id": 496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6187:7:0", + "src": "6186:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6903,7 +6945,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 471, - "src": "6223:15:0", + "src": "6222:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6924,7 +6966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 785, - "src": "6209:9:0", + "src": "6208:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6938,7 +6980,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1069, - "src": "6209:13:0", + "src": "6208:13: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)" @@ -6952,7 +6994,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6209:30:0", + "src": "6208:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6970,7 +7012,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6242:7:0", + "src": "6241:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -6978,14 +7020,14 @@ }, "value": "1000000" }, - "src": "6209:40:0", + "src": "6208:40:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6187:62:0" + "src": "6186:62:0" }, { "condition": { @@ -7006,7 +7048,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 783, - "src": "6264:17:0", + "src": "6263:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7024,7 +7066,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6285:1:0", + "src": "6284:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7032,7 +7074,7 @@ }, "value": "0" }, - "src": "6264:22:0", + "src": "6263:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7041,11 +7083,11 @@ "falseBody": null, "id": 513, "nodeType": "IfStatement", - "src": "6260:87:0", + "src": "6259:87:0", "trueBody": { "id": 512, "nodeType": "Block", - "src": "6288:59:0", + "src": "6287:59:0", "statements": [ { "expression": { @@ -7062,7 +7104,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "6302:14:0", + "src": "6301:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7077,13 +7119,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 783, - "src": "6319:17:0", + "src": "6318:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6302:34:0", + "src": "6301:34:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7091,7 +7133,7 @@ }, "id": 511, "nodeType": "ExpressionStatement", - "src": "6302:34:0" + "src": "6301:34:0" } ] } @@ -7111,7 +7153,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "6357:14:0", + "src": "6356:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7129,7 +7171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "6427:14:0", + "src": "6426:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7153,7 +7195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "6391:7:0", + "src": "6390:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7172,7 +7214,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 941, - "src": "6374:16:0", + "src": "6373:16:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWingsController_$941_$", "typeString": "type(contract IWingsController)" @@ -7186,7 +7228,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6374:25:0", + "src": "6373:25:0", "typeDescriptions": { "typeIdentifier": "t_contract$_IWingsController_$941", "typeString": "contract IWingsController" @@ -7200,7 +7242,7 @@ "memberName": "fitCollectedValueIntoRange", "nodeType": "MemberAccess", "referencedDeclaration": 931, - "src": "6374:52:0", + "src": "6373:52:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view external returns (uint256)" @@ -7214,13 +7256,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6374:68:0", + "src": "6373:68:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6357:85:0", + "src": "6356:85:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7228,7 +7270,7 @@ }, "id": 522, "nodeType": "ExpressionStatement", - "src": "6357:85:0" + "src": "6356:85:0" }, { "condition": { @@ -7238,7 +7280,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 490, - "src": "6457:12:0", + "src": "6456:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7247,11 +7289,11 @@ "falseBody": null, "id": 534, "nodeType": "IfStatement", - "src": "6453:98:0", + "src": "6452:98:0", "trueBody": { "id": 533, "nodeType": "Block", - "src": "6471:80:0", + "src": "6470:80:0", "statements": [ { "expression": { @@ -7268,7 +7310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 487, - "src": "6485:9:0", + "src": "6484:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7297,7 +7339,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 479, - "src": "6516:13:0", + "src": "6515:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7318,7 +7360,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "6497:14:0", + "src": "6496:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7332,7 +7374,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1069, - "src": "6497:18:0", + "src": "6496:18: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)" @@ -7346,7 +7388,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6497:33:0", + "src": "6496:33:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7364,7 +7406,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6533:7:0", + "src": "6532:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -7372,13 +7414,13 @@ }, "value": "1000000" }, - "src": "6497:43:0", + "src": "6496:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6485:55:0", + "src": "6484:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7386,7 +7428,7 @@ }, "id": 532, "nodeType": "ExpressionStatement", - "src": "6485:55:0" + "src": "6484:55:0" } ] } @@ -7402,7 +7444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 487, - "src": "6569:9:0", + "src": "6568:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7415,7 +7457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "6580:11:0", + "src": "6579:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7429,7 +7471,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6568:24:0", + "src": "6567:24:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -7438,7 +7480,7 @@ "functionReturnParameters": 469, "id": 538, "nodeType": "Return", - "src": "6561:31:0" + "src": "6560:31:0" } ] }, @@ -7454,7 +7496,7 @@ "id": 464, "nodeType": "ParameterList", "parameters": [], - "src": "5903:2:0" + "src": "5902:2:0" }, "payable": false, "returnParameters": { @@ -7467,7 +7509,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 540, - "src": "5927:7:0", + "src": "5926:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7478,7 +7520,7 @@ "id": 465, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5927:7:0", + "src": "5926:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7493,7 +7535,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 540, - "src": "5936:7:0", + "src": "5935:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7504,7 +7546,7 @@ "id": 467, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5936:7:0", + "src": "5935:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7514,10 +7556,10 @@ "visibility": "internal" } ], - "src": "5926:18:0" + "src": "5925:18:0" }, "scope": 617, - "src": "5878:721:0", + "src": "5877:721:0", "stateMutability": "view", "superFunction": 861, "visibility": "public" @@ -7526,7 +7568,7 @@ "body": { "id": 611, "nodeType": "Block", - "src": "6719:750:0", + "src": "6718:750:0", "statements": [ { "assignments": [], @@ -7537,7 +7579,7 @@ "name": "ethReward", "nodeType": "VariableDeclaration", "scope": 612, - "src": "6729:17:0", + "src": "6728:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7548,7 +7590,7 @@ "id": 545, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6729:7:0", + "src": "6728:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7561,7 +7603,7 @@ "id": 547, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "6729:17:0" + "src": "6728:17:0" }, { "assignments": [], @@ -7572,7 +7614,7 @@ "name": "tokenReward", "nodeType": "VariableDeclaration", "scope": 612, - "src": "6756:19:0", + "src": "6755:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7583,7 +7625,7 @@ "id": 548, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6756:7:0", + "src": "6755:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7596,7 +7638,7 @@ "id": 550, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "6756:19:0" + "src": "6755:19:0" }, { "expression": { @@ -7616,7 +7658,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 546, - "src": "6787:9:0", + "src": "6786:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7629,7 +7671,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 549, - "src": "6798:11:0", + "src": "6797:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7643,7 +7685,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "6786:24:0", + "src": "6785:24:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -7663,7 +7705,7 @@ 540 ], "referencedDeclaration": 540, - "src": "6813:16:0", + "src": "6812:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", "typeString": "function () view returns (uint256,uint256)" @@ -7677,13 +7719,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6813:18:0", + "src": "6812:18:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "6786:45:0", + "src": "6785:45:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7691,7 +7733,7 @@ }, "id": 557, "nodeType": "ExpressionStatement", - "src": "6786:45:0" + "src": "6785:45:0" }, { "condition": { @@ -7712,7 +7754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 546, - "src": "6911:9:0", + "src": "6910:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7730,7 +7772,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6923:1:0", + "src": "6922:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7738,7 +7780,7 @@ }, "value": "0" }, - "src": "6911:13:0", + "src": "6910:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7747,11 +7789,11 @@ "falseBody": null, "id": 576, "nodeType": "IfStatement", - "src": "6907:173:0", + "src": "6906:173:0", "trueBody": { "id": 575, "nodeType": "Block", - "src": "6926:154:0", + "src": "6925:154:0", "statements": [ { "assignments": [ @@ -7764,7 +7806,7 @@ "name": "ethBalance", "nodeType": "VariableDeclaration", "scope": 612, - "src": "6940:18:0", + "src": "6939:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7775,7 +7817,7 @@ "id": 561, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6940:7:0", + "src": "6939:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7798,7 +7840,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, - "src": "6969:4:0", + "src": "6968:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Bridge_$617", "typeString": "contract Bridge" @@ -7818,7 +7860,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6961:7:0", + "src": "6960:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -7833,7 +7875,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6961:13:0", + "src": "6960:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7847,14 +7889,14 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6961:21:0", + "src": "6960:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6940:42:0" + "src": "6939:42:0" }, { "condition": { @@ -7875,7 +7917,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 562, - "src": "7001:10:0", + "src": "7000:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7890,13 +7932,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 546, - "src": "7014:9:0", + "src": "7013:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7001:22:0", + "src": "7000:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7905,11 +7947,11 @@ "falseBody": null, "id": 574, "nodeType": "IfStatement", - "src": "6997:73:0", + "src": "6996:73:0", "trueBody": { "id": 573, "nodeType": "Block", - "src": "7025:45:0", + "src": "7024:45:0", "statements": [ { "expression": { @@ -7922,7 +7964,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7050:5:0", + "src": "7049:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7933,7 +7975,7 @@ "functionReturnParameters": 544, "id": 572, "nodeType": "Return", - "src": "7043:12:0" + "src": "7042:12:0" } ] } @@ -7960,7 +8002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 549, - "src": "7162:11:0", + "src": "7161:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7978,7 +8020,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7176:1:0", + "src": "7175:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7986,7 +8028,7 @@ }, "value": "0" }, - "src": "7162:15:0", + "src": "7161:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7995,11 +8037,11 @@ "falseBody": null, "id": 608, "nodeType": "IfStatement", - "src": "7158:283:0", + "src": "7157:283:0", "trueBody": { "id": 607, "nodeType": "Block", - "src": "7179:262:0", + "src": "7178:262:0", "statements": [ { "condition": { @@ -8023,7 +8065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "7205:5:0", + "src": "7204:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -8043,7 +8085,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7197:7:0", + "src": "7196:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8058,7 +8100,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7197:14:0", + "src": "7196:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8079,7 +8121,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7223:1:0", + "src": "7222:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8101,7 +8143,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7215:7:0", + "src": "7214:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8116,13 +8158,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7215:10:0", + "src": "7214:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7197:28:0", + "src": "7196:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8131,11 +8173,11 @@ "falseBody": null, "id": 590, "nodeType": "IfStatement", - "src": "7193:79:0", + "src": "7192:79:0", "trueBody": { "id": 589, "nodeType": "Block", - "src": "7227:45:0", + "src": "7226:45:0", "statements": [ { "expression": { @@ -8148,7 +8190,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7252:5:0", + "src": "7251:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8159,7 +8201,7 @@ "functionReturnParameters": 544, "id": 588, "nodeType": "Return", - "src": "7245:12:0" + "src": "7244:12:0" } ] } @@ -8175,7 +8217,7 @@ "name": "tokenBalance", "nodeType": "VariableDeclaration", "scope": 612, - "src": "7286:20:0", + "src": "7285:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8186,7 +8228,7 @@ "id": 591, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7286:7:0", + "src": "7285:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8210,7 +8252,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, - "src": "7333:4:0", + "src": "7332:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Bridge_$617", "typeString": "contract Bridge" @@ -8230,7 +8272,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7325:7:0", + "src": "7324:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8245,7 +8287,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7325:13:0", + "src": "7324:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8266,7 +8308,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "7309:5:0", + "src": "7308:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -8280,7 +8322,7 @@ "memberName": "balanceOf", "nodeType": "MemberAccess", "referencedDeclaration": 1362, - "src": "7309:15:0", + "src": "7308:15:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -8294,14 +8336,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7309:30:0", + "src": "7308:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7286:53:0" + "src": "7285:53:0" }, { "condition": { @@ -8322,7 +8364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "7358:12:0", + "src": "7357:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8337,13 +8379,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 549, - "src": "7373:11:0", + "src": "7372:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7358:26:0", + "src": "7357:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8352,11 +8394,11 @@ "falseBody": null, "id": 606, "nodeType": "IfStatement", - "src": "7354:77:0", + "src": "7353:77:0", "trueBody": { "id": 605, "nodeType": "Block", - "src": "7386:45:0", + "src": "7385:45:0", "statements": [ { "expression": { @@ -8369,7 +8411,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7411:5:0", + "src": "7410:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8380,7 +8422,7 @@ "functionReturnParameters": 544, "id": 604, "nodeType": "Return", - "src": "7404:12:0" + "src": "7403:12:0" } ] } @@ -8399,7 +8441,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7458:4:0", + "src": "7457:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8410,7 +8452,7 @@ "functionReturnParameters": 544, "id": 610, "nodeType": "Return", - "src": "7451:11:0" + "src": "7450:11:0" } ] }, @@ -8426,7 +8468,7 @@ "id": 541, "nodeType": "ParameterList", "parameters": [], - "src": "6689:2:0" + "src": "6688:2:0" }, "payable": false, "returnParameters": { @@ -8439,7 +8481,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 612, - "src": "6713:4:0", + "src": "6712:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8450,7 +8492,7 @@ "id": 542, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6713:4:0", + "src": "6712:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8460,10 +8502,10 @@ "visibility": "internal" } ], - "src": "6712:6:0" + "src": "6711:6:0" }, "scope": 617, - "src": "6665:804:0", + "src": "6664:804:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8472,7 +8514,7 @@ "body": { "id": 615, "nodeType": "Block", - "src": "7534:7:0", + "src": "7533:7:0", "statements": [] }, "documentation": null, @@ -8487,27 +8529,27 @@ "id": 613, "nodeType": "ParameterList", "parameters": [], - "src": "7516:2:0" + "src": "7515:2:0" }, "payable": true, "returnParameters": { "id": 614, "nodeType": "ParameterList", "parameters": [], - "src": "7534:0:0" + "src": "7533:0:0" }, "scope": 617, - "src": "7508:33:0", + "src": "7507:33:0", "stateMutability": "payable", "superFunction": null, "visibility": "public" } ], "scope": 618, - "src": "92:7451:0" + "src": "92:7450:0" } ], - "src": "0:7544:0" + "src": "0:7543:0" }, "legacyAST": { "absolutePath": "/Users/solidity/Desktop/github/wings-light-bridge/contracts/Bridge.sol", @@ -8957,7 +8999,7 @@ "body": { "id": 55, "nodeType": "Block", - "src": "1227:57:0", + "src": "1226:57:0", "statements": [ { "expression": { @@ -8976,7 +9018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 41, - "src": "1266:7:0", + "src": "1265:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8999,7 +9041,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 39, - "src": "1245:9:0", + "src": "1244:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9013,7 +9055,7 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1245:14:0", + "src": "1244:14:0", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", "typeString": "function () payable returns (bool)" @@ -9027,7 +9069,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1245:20:0", + "src": "1244:20:0", "typeDescriptions": { "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$value_$", "typeString": "function (uint256) returns (function () payable returns (bool))" @@ -9041,7 +9083,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1245:29:0", + "src": "1244:29:0", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$value", "typeString": "function () payable returns (bool)" @@ -9055,7 +9097,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1245:31:0", + "src": "1244:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9077,7 +9119,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "1237:7:0", + "src": "1236:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9091,7 +9133,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1237:40:0", + "src": "1236:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9099,7 +9141,7 @@ }, "id": 54, "nodeType": "ExpressionStatement", - "src": "1237:40:0" + "src": "1236:40:0" } ] }, @@ -9119,14 +9161,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 748, - "src": "1166:11:0", + "src": "1165:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1166:13:0" + "src": "1165:13:0" } ], "name": "mintETHRewards", @@ -9141,7 +9183,7 @@ "name": "_contract", "nodeType": "VariableDeclaration", "scope": 56, - "src": "996:17:0", + "src": "995:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9152,7 +9194,7 @@ "id": 38, "name": "address", "nodeType": "ElementaryTypeName", - "src": "996:7:0", + "src": "995:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9167,7 +9209,7 @@ "name": "_amount", "nodeType": "VariableDeclaration", "scope": 56, - "src": "1050:15:0", + "src": "1049:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9178,7 +9220,7 @@ "id": 40, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1050:7:0", + "src": "1049:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9188,17 +9230,17 @@ "visibility": "internal" } ], - "src": "986:156:0" + "src": "985:156:0" }, "payable": false, "returnParameters": { "id": 45, "nodeType": "ParameterList", "parameters": [], - "src": "1227:0:0" + "src": "1226:0:0" }, "scope": 617, - "src": "963:321:0", + "src": "962:321:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -9207,7 +9249,7 @@ "body": { "id": 82, "nodeType": "Block", - "src": "1370:204:0", + "src": "1369:204:0", "statements": [ { "condition": { @@ -9217,7 +9259,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 777, - "src": "1452:7:0", + "src": "1451:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9226,11 +9268,11 @@ "falseBody": null, "id": 77, "nodeType": "IfStatement", - "src": "1448:96:0", + "src": "1447:96:0", "trueBody": { "id": 76, "nodeType": "Block", - "src": "1461:83:0", + "src": "1460:83:0", "statements": [ { "expression": { @@ -9246,7 +9288,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1483:11:0", + "src": "1482:11:0", "subExpression": { "argumentTypes": null, "arguments": [], @@ -9259,7 +9301,7 @@ 431 ], "referencedDeclaration": 431, - "src": "1484:8:0", + "src": "1483:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" @@ -9273,7 +9315,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1484:10:0", + "src": "1483:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9300,7 +9342,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "1475:7:0", + "src": "1474:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9314,7 +9356,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1475:20:0", + "src": "1474:20:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9322,7 +9364,7 @@ }, "id": 69, "nodeType": "ExpressionStatement", - "src": "1475:20:0" + "src": "1474:20:0" }, { "expression": { @@ -9338,7 +9380,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1517:15:0", + "src": "1516:15:0", "subExpression": { "argumentTypes": null, "arguments": [], @@ -9351,7 +9393,7 @@ 453 ], "referencedDeclaration": 453, - "src": "1518:12:0", + "src": "1517:12:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" @@ -9365,7 +9407,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1518:14:0", + "src": "1517:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9392,7 +9434,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "1509:7:0", + "src": "1508:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9406,7 +9448,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1509:24:0", + "src": "1508:24:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9414,7 +9456,7 @@ }, "id": 75, "nodeType": "ExpressionStatement", - "src": "1509:24:0" + "src": "1508:24:0" } ] } @@ -9434,7 +9476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 779, - "src": "1553:7:0", + "src": "1552:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9452,7 +9494,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1563:4:0", + "src": "1562:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9460,7 +9502,7 @@ }, "value": "true" }, - "src": "1553:14:0", + "src": "1552:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9468,7 +9510,7 @@ }, "id": 81, "nodeType": "ExpressionStatement", - "src": "1553:14:0" + "src": "1552:14:0" } ] }, @@ -9488,14 +9530,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 748, - "src": "1338:11:0", + "src": "1337:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1338:13:0" + "src": "1337:13:0" }, { "arguments": [], @@ -9507,14 +9549,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "1352:12:0", + "src": "1351:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1352:14:0" + "src": "1351:14:0" } ], "name": "stop", @@ -9523,17 +9565,17 @@ "id": 57, "nodeType": "ParameterList", "parameters": [], - "src": "1328:2:0" + "src": "1327:2:0" }, "payable": false, "returnParameters": { "id": 62, "nodeType": "ParameterList", "parameters": [], - "src": "1370:0:0" + "src": "1369:0:0" }, "scope": 617, - "src": "1315:259:0", + "src": "1314:259:0", "stateMutability": "nonpayable", "superFunction": 874, "visibility": "public" @@ -9542,7 +9584,7 @@ "body": { "id": 125, "nodeType": "Block", - "src": "1876:204:0", + "src": "1875:204:0", "statements": [ { "expression": { @@ -9559,7 +9601,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "1886:14:0", + "src": "1885:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9577,7 +9619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1922:7:0", + "src": "1921:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9598,7 +9640,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "1903:14:0", + "src": "1902:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9612,7 +9654,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1131, - "src": "1903:18:0", + "src": "1902:18: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)" @@ -9626,13 +9668,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1903:27:0", + "src": "1902:27:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1886:44:0", + "src": "1885:44:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9640,7 +9682,7 @@ }, "id": 106, "nodeType": "ExpressionStatement", - "src": "1886:44:0" + "src": "1885:44:0" }, { "expression": { @@ -9657,7 +9699,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 783, - "src": "1940:17:0", + "src": "1939:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9675,7 +9717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 87, - "src": "1982:10:0", + "src": "1981:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9696,7 +9738,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 783, - "src": "1960:17:0", + "src": "1959:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9710,7 +9752,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1131, - "src": "1960:21:0", + "src": "1959: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)" @@ -9724,13 +9766,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1960:33:0", + "src": "1959:33:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1940:53:0", + "src": "1939:53:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9738,7 +9780,7 @@ }, "id": 113, "nodeType": "ExpressionStatement", - "src": "1940:53:0" + "src": "1939:53:0" }, { "expression": { @@ -9755,7 +9797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 785, - "src": "2003:9:0", + "src": "2002:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9773,7 +9815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 89, - "src": "2029:13:0", + "src": "2028:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9794,7 +9836,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 785, - "src": "2015:9:0", + "src": "2014:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9808,7 +9850,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1131, - "src": "2015:13:0", + "src": "2014:13: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)" @@ -9822,13 +9864,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2015:28:0", + "src": "2014:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2003:40:0", + "src": "2002:40:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9836,7 +9878,7 @@ }, "id": 120, "nodeType": "ExpressionStatement", - "src": "2003:40:0" + "src": "2002:40:0" }, { "expression": { @@ -9853,7 +9895,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 801, - "src": "2054:12:0", + "src": "2053:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9871,7 +9913,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2069:4:0", + "src": "2068:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9879,7 +9921,7 @@ }, "value": "true" }, - "src": "2054:19:0", + "src": "2053:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9887,7 +9929,7 @@ }, "id": 124, "nodeType": "ExpressionStatement", - "src": "2054:19:0" + "src": "2053:19:0" } ] }, @@ -9907,14 +9949,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 737, - "src": "1783:14:0", + "src": "1782:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1783:16:0" + "src": "1782:16:0" }, { "arguments": [], @@ -9926,14 +9968,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "1808:12:0", + "src": "1807:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1808:14:0" + "src": "1807:14:0" }, { "arguments": [], @@ -9945,14 +9987,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 702, - "src": "1831:18:0", + "src": "1830:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1831:20:0" + "src": "1830:20:0" }, { "arguments": [], @@ -9964,14 +10006,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1162, - "src": "1860:9:0", + "src": "1859:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1860:11:0" + "src": "1859:11:0" } ], "name": "notifySale", @@ -9986,7 +10028,7 @@ "name": "_amount", "nodeType": "VariableDeclaration", "scope": 126, - "src": "1700:15:0", + "src": "1699:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9997,7 +10039,7 @@ "id": 84, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1700:7:0", + "src": "1699:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10012,7 +10054,7 @@ "name": "_ethAmount", "nodeType": "VariableDeclaration", "scope": 126, - "src": "1717:18:0", + "src": "1716:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10023,7 +10065,7 @@ "id": 86, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1717:7:0", + "src": "1716:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10038,7 +10080,7 @@ "name": "_tokensAmount", "nodeType": "VariableDeclaration", "scope": 126, - "src": "1737:21:0", + "src": "1736:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10049,7 +10091,7 @@ "id": 88, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1737:7:0", + "src": "1736:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10059,17 +10101,17 @@ "visibility": "internal" } ], - "src": "1699:60:0" + "src": "1698:60:0" }, "payable": false, "returnParameters": { "id": 99, "nodeType": "ParameterList", "parameters": [], - "src": "1876:0:0" + "src": "1875:0:0" }, "scope": 617, - "src": "1680:400:0", + "src": "1679:400:0", "stateMutability": "nonpayable", "superFunction": 854, "visibility": "public" @@ -10078,7 +10120,7 @@ "body": { "id": 176, "nodeType": "Block", - "src": "2378:303:0", + "src": "2377:303:0", "statements": [ { "condition": { @@ -10110,7 +10152,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2392:15:0", + "src": "2391:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10128,7 +10170,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2410:1:0", + "src": "2409:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10136,7 +10178,7 @@ }, "value": "0" }, - "src": "2392:19:0", + "src": "2391:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10162,7 +10204,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "2415:13:0", + "src": "2414:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10180,7 +10222,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2431:1:0", + "src": "2430:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10188,13 +10230,13 @@ }, "value": "0" }, - "src": "2415:17:0", + "src": "2414:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2392:40:0", + "src": "2391:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10203,11 +10245,11 @@ "falseBody": null, "id": 155, "nodeType": "IfStatement", - "src": "2388:111:0", + "src": "2387:111:0", "trueBody": { "id": 154, "nodeType": "Block", - "src": "2434:65:0", + "src": "2433:65:0", "statements": [ { "expression": { @@ -10231,7 +10273,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "2456:13:0", + "src": "2455:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10246,13 +10288,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2472:15:0", + "src": "2471:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2456:31:0", + "src": "2455:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10274,7 +10316,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "2448:7:0", + "src": "2447:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -10288,7 +10330,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2448:40:0", + "src": "2447:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10296,7 +10338,7 @@ }, "id": 153, "nodeType": "ExpressionStatement", - "src": "2448:40:0" + "src": "2447:40:0" } ] } @@ -10316,7 +10358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 791, - "src": "2509:14:0", + "src": "2508:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10331,13 +10373,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2526:15:0", + "src": "2525:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2509:32:0", + "src": "2508:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10345,7 +10387,7 @@ }, "id": 159, "nodeType": "ExpressionStatement", - "src": "2509:32:0" + "src": "2508:32:0" }, { "expression": { @@ -10362,7 +10404,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 793, - "src": "2551:12:0", + "src": "2550:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10377,13 +10419,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "2566:13:0", + "src": "2565:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2551:28:0", + "src": "2550:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10391,7 +10433,7 @@ }, "id": 163, "nodeType": "ExpressionStatement", - "src": "2551:28:0" + "src": "2550:28:0" }, { "expression": { @@ -10408,7 +10450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 777, - "src": "2590:7:0", + "src": "2589:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10426,7 +10468,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2600:4:0", + "src": "2599:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10434,7 +10476,7 @@ }, "value": "true" }, - "src": "2590:14:0", + "src": "2589:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10442,7 +10484,7 @@ }, "id": 167, "nodeType": "ExpressionStatement", - "src": "2590:14:0" + "src": "2589:14:0" }, { "expression": { @@ -10455,7 +10497,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2631:15:0", + "src": "2630:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10468,7 +10510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "2648:13:0", + "src": "2647:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10487,7 +10529,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2671:1:0", + "src": "2670:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10509,7 +10551,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2663:7:0", + "src": "2662:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10524,7 +10566,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2663:10:0", + "src": "2662:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10551,7 +10593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 673, - "src": "2615:15:0", + "src": "2614:15:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,uint256,address)" @@ -10565,7 +10607,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2615:59:0", + "src": "2614:59:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10573,7 +10615,7 @@ }, "id": 175, "nodeType": "ExpressionStatement", - "src": "2615:59:0" + "src": "2614:59:0" } ] }, @@ -10593,14 +10635,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "2314:12:0", + "src": "2313:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2314:14:0" + "src": "2313:14:0" }, { "arguments": [], @@ -10612,14 +10654,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "2337:12:0", + "src": "2336:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2337:14:0" + "src": "2336:14:0" }, { "arguments": [], @@ -10631,14 +10673,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 748, - "src": "2360:11:0", + "src": "2359:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2360:13:0" + "src": "2359:13:0" } ], "name": "start", @@ -10653,7 +10695,7 @@ "name": "_startTimestamp", "nodeType": "VariableDeclaration", "scope": 177, - "src": "2193:23:0", + "src": "2192:23:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10664,7 +10706,7 @@ "id": 127, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2193:7:0", + "src": "2192:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10679,7 +10721,7 @@ "name": "_endTimestamp", "nodeType": "VariableDeclaration", "scope": 177, - "src": "2226:21:0", + "src": "2225:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10690,7 +10732,7 @@ "id": 129, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2226:7:0", + "src": "2225:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10705,7 +10747,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 177, - "src": "2257:7:0", + "src": "2256:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10716,7 +10758,7 @@ "id": 131, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2257:7:0", + "src": "2256:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10726,17 +10768,17 @@ "visibility": "internal" } ], - "src": "2183:107:0" + "src": "2182:107:0" }, "payable": false, "returnParameters": { "id": 140, "nodeType": "ParameterList", "parameters": [], - "src": "2378:0:0" + "src": "2377:0:0" }, "scope": 617, - "src": "2169:512:0", + "src": "2168:512:0", "stateMutability": "nonpayable", "superFunction": 883, "visibility": "public" @@ -10745,7 +10787,7 @@ "body": { "id": 214, "nodeType": "Block", - "src": "2845:404:0", + "src": "2844:404:0", "statements": [ { "expression": { @@ -10758,7 +10800,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 801, - "src": "2946:12:0", + "src": "2945:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10780,7 +10822,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "2938:7:0", + "src": "2937:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -10794,7 +10836,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2938:21:0", + "src": "2937:21:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10802,7 +10844,7 @@ }, "id": 191, "nodeType": "ExpressionStatement", - "src": "2938:21:0" + "src": "2937:21:0" }, { "condition": { @@ -10815,7 +10857,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2974:17:0", + "src": "2973:17:0", "subExpression": { "argumentTypes": null, "arguments": [], @@ -10826,7 +10868,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 463, - "src": "2975:14:0", + "src": "2974:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" @@ -10840,7 +10882,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2975:16:0", + "src": "2974:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10854,7 +10896,7 @@ "falseBody": { "id": 205, "nodeType": "Block", - "src": "3037:143:0", + "src": "3036:143:0", "statements": [ { "expression": { @@ -10870,7 +10912,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 612, - "src": "3151:15:0", + "src": "3150:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" @@ -10884,7 +10926,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3151:17:0", + "src": "3150:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10906,7 +10948,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "3143:7:0", + "src": "3142:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -10920,7 +10962,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3143:26:0", + "src": "3142:26:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10928,17 +10970,17 @@ }, "id": 204, "nodeType": "ExpressionStatement", - "src": "3143:26:0" + "src": "3142:26:0" } ] }, "id": 206, "nodeType": "IfStatement", - "src": "2970:210:0", + "src": "2969:210:0", "trueBody": { "id": 199, "nodeType": "Block", - "src": "2993:38:0", + "src": "2992:38:0", "statements": [ { "expression": { @@ -10955,7 +10997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "3007:6:0", + "src": "3006:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10973,7 +11015,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3016:4:0", + "src": "3015:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10981,7 +11023,7 @@ }, "value": "true" }, - "src": "3007:13:0", + "src": "3006:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10989,7 +11031,7 @@ }, "id": 198, "nodeType": "ExpressionStatement", - "src": "3007:13:0" + "src": "3006:13:0" } ] } @@ -11009,7 +11051,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 797, - "src": "3190:9:0", + "src": "3189:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11027,7 +11069,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3202:4:0", + "src": "3201:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11035,7 +11077,7 @@ }, "value": "true" }, - "src": "3190:16:0", + "src": "3189:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11043,7 +11085,7 @@ }, "id": 210, "nodeType": "ExpressionStatement", - "src": "3190:16:0" + "src": "3189:16:0" }, { "expression": { @@ -11056,7 +11098,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 693, - "src": "3217:23:0", + "src": "3216:23:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" @@ -11070,7 +11112,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3217:25:0", + "src": "3216:25:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11078,7 +11120,7 @@ }, "id": 213, "nodeType": "ExpressionStatement", - "src": "3217:25:0" + "src": "3216:25:0" } ] }, @@ -11098,14 +11140,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "2752:12:0", + "src": "2751:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2752:14:0" + "src": "2751:14:0" }, { "arguments": [], @@ -11117,14 +11159,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 737, - "src": "2775:14:0", + "src": "2774:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2775:16:0" + "src": "2774:16:0" }, { "arguments": [], @@ -11136,14 +11178,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 702, - "src": "2800:18:0", + "src": "2799:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2800:20:0" + "src": "2799:20:0" }, { "arguments": [], @@ -11155,14 +11197,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1162, - "src": "2829:9:0", + "src": "2828:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2829:11:0" + "src": "2828:11:0" } ], "name": "finish", @@ -11171,17 +11213,17 @@ "id": 178, "nodeType": "ParameterList", "parameters": [], - "src": "2726:2:0" + "src": "2725:2:0" }, "payable": false, "returnParameters": { "id": 187, "nodeType": "ParameterList", "parameters": [], - "src": "2845:0:0" + "src": "2844:0:0" }, "scope": 617, - "src": "2711:538:0", + "src": "2710:538:0", "stateMutability": "nonpayable", "superFunction": 864, "visibility": "public" @@ -11190,7 +11232,7 @@ "body": { "id": 255, "nodeType": "Block", - "src": "3438:236:0", + "src": "3437:236:0", "statements": [ { "expression": { @@ -11207,7 +11249,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "3448:5:0", + "src": "3447:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -11225,7 +11267,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "3470:9:0", + "src": "3469:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11244,7 +11286,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1308, - "src": "3456:13:0", + "src": "3455:13:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_DetailedERC20_$1308_$", "typeString": "type(contract DetailedERC20)" @@ -11258,13 +11300,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3456:24:0", + "src": "3455:24:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" } }, - "src": "3448:32:0", + "src": "3447:32:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -11272,7 +11314,7 @@ }, "id": 229, "nodeType": "ExpressionStatement", - "src": "3448:32:0" + "src": "3447:32:0" }, { "assignments": [ @@ -11285,7 +11327,7 @@ "name": "tokenDecimals", "nodeType": "VariableDeclaration", "scope": 256, - "src": "3491:19:0", + "src": "3490:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11296,7 +11338,7 @@ "id": 230, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3491:5:0", + "src": "3490:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11322,7 +11364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "3519:5:0", + "src": "3518:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -11336,7 +11378,7 @@ "memberName": "decimals", "nodeType": "MemberAccess", "referencedDeclaration": 1285, - "src": "3519:14:0", + "src": "3518:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -11350,7 +11392,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3519:16:0", + "src": "3518:16:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11370,7 +11412,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3513:5:0", + "src": "3512:5:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" @@ -11385,14 +11427,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3513:23:0", + "src": "3512:23:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "3491:45:0" + "src": "3490:45:0" }, { "expression": { @@ -11427,7 +11469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 231, - "src": "3555:13:0", + "src": "3554:13:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11445,7 +11487,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3572:1:0", + "src": "3571:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", @@ -11453,7 +11495,7 @@ }, "value": "8" }, - "src": "3555:18:0", + "src": "3554:18:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11479,7 +11521,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 231, - "src": "3577:13:0", + "src": "3576:13:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11497,7 +11539,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3594:2:0", + "src": "3593:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -11505,13 +11547,13 @@ }, "value": "18" }, - "src": "3577:19:0", + "src": "3576:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3555:41:0", + "src": "3554:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11533,7 +11575,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "3547:7:0", + "src": "3546:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -11547,7 +11589,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3547:50:0", + "src": "3546:50:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11555,7 +11597,7 @@ }, "id": 247, "nodeType": "ExpressionStatement", - "src": "3547:50:0" + "src": "3546:50:0" }, { "expression": { @@ -11571,7 +11613,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "3645:5:0", + "src": "3644:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -11591,7 +11633,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3637:7:0", + "src": "3636:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11606,7 +11648,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3637:14:0", + "src": "3636:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11619,7 +11661,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 231, - "src": "3653:13:0", + "src": "3652:13:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -11642,7 +11684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 679, - "src": "3608:28:0", + "src": "3607:28:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint8_$returns$__$", "typeString": "function (address,uint8)" @@ -11656,7 +11698,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3608:59:0", + "src": "3607:59:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11664,7 +11706,7 @@ }, "id": 254, "nodeType": "ExpressionStatement", - "src": "3608:59:0" + "src": "3607:59:0" } ] }, @@ -11684,14 +11726,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 764, - "src": "3403:18:0", + "src": "3402:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3403:20:0" + "src": "3402:20:0" }, { "arguments": [], @@ -11703,14 +11745,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 773, - "src": "3424:11:0", + "src": "3423:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3424:13:0" + "src": "3423:13:0" } ], "name": "changeToken", @@ -11725,7 +11767,7 @@ "name": "_newToken", "nodeType": "VariableDeclaration", "scope": 256, - "src": "3377:17:0", + "src": "3376:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11736,7 +11778,7 @@ "id": 216, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3377:7:0", + "src": "3376:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11746,17 +11788,17 @@ "visibility": "internal" } ], - "src": "3376:19:0" + "src": "3375:19:0" }, "payable": false, "returnParameters": { "id": 223, "nodeType": "ParameterList", "parameters": [], - "src": "3438:0:0" + "src": "3437:0:0" }, "scope": 617, - "src": "3356:318:0", + "src": "3355:318:0", "stateMutability": "nonpayable", "superFunction": 831, "visibility": "public" @@ -11765,7 +11807,7 @@ "body": { "id": 300, "nodeType": "Block", - "src": "3821:283:0", + "src": "3820:283:0", "statements": [ { "condition": { @@ -11797,7 +11839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 258, - "src": "3835:12:0", + "src": "3834:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11815,7 +11857,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3850:1:0", + "src": "3849:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11823,7 +11865,7 @@ }, "value": "0" }, - "src": "3835:16:0", + "src": "3834:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11849,7 +11891,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 260, - "src": "3855:8:0", + "src": "3854:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11867,7 +11909,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3866:1:0", + "src": "3865:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11875,13 +11917,13 @@ }, "value": "0" }, - "src": "3855:12:0", + "src": "3854:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3835:32:0", + "src": "3834:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11890,11 +11932,11 @@ "falseBody": null, "id": 281, "nodeType": "IfStatement", - "src": "3831:95:0", + "src": "3830:95:0", "trueBody": { "id": 280, "nodeType": "Block", - "src": "3869:57:0", + "src": "3868:57:0", "statements": [ { "expression": { @@ -11918,7 +11960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 260, - "src": "3891:8:0", + "src": "3890:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11933,13 +11975,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 258, - "src": "3902:12:0", + "src": "3901:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3891:23:0", + "src": "3890:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11961,7 +12003,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "3883:7:0", + "src": "3882:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -11975,7 +12017,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3883:32:0", + "src": "3882:32:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11983,7 +12025,7 @@ }, "id": 279, "nodeType": "ExpressionStatement", - "src": "3883:32:0" + "src": "3882:32:0" } ] } @@ -12007,7 +12049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 258, - "src": "3940:12:0", + "src": "3939:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12025,7 +12067,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3955:1:0", + "src": "3954:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12033,7 +12075,7 @@ }, "value": "0" }, - "src": "3940:16:0", + "src": "3939:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12042,11 +12084,11 @@ "falseBody": null, "id": 290, "nodeType": "IfStatement", - "src": "3936:73:0", + "src": "3935:73:0", "trueBody": { "id": 289, "nodeType": "Block", - "src": "3958:51:0", + "src": "3957:51:0", "statements": [ { "expression": { @@ -12063,7 +12105,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 787, - "src": "3972:11:0", + "src": "3971:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12078,13 +12120,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 258, - "src": "3986:12:0", + "src": "3985:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3972:26:0", + "src": "3971:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12092,7 +12134,7 @@ }, "id": 288, "nodeType": "ExpressionStatement", - "src": "3972:26:0" + "src": "3971:26:0" } ] } @@ -12112,7 +12154,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 789, - "src": "4019:7:0", + "src": "4018:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12127,13 +12169,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 260, - "src": "4029:8:0", + "src": "4028:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4019:18:0", + "src": "4018:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12141,7 +12183,7 @@ }, "id": 294, "nodeType": "ExpressionStatement", - "src": "4019:18:0" + "src": "4018:18:0" }, { "expression": { @@ -12154,7 +12196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 787, - "src": "4076:11:0", + "src": "4075:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12167,7 +12209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 789, - "src": "4089:7:0", + "src": "4088:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12190,7 +12232,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 685, - "src": "4048:27:0", + "src": "4047:27:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" @@ -12204,7 +12246,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4048:49:0", + "src": "4047:49:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12212,7 +12254,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "4048:49:0" + "src": "4047:49:0" } ] }, @@ -12232,14 +12274,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 764, - "src": "3786:18:0", + "src": "3785:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3786:20:0" + "src": "3785:20:0" }, { "arguments": [], @@ -12251,14 +12293,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 773, - "src": "3807:11:0", + "src": "3806:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3807:13:0" + "src": "3806:13:0" } ], "name": "setCrowdsaleGoal", @@ -12273,7 +12315,7 @@ "name": "_minimalGoal", "nodeType": "VariableDeclaration", "scope": 301, - "src": "3739:20:0", + "src": "3738:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12284,7 +12326,7 @@ "id": 257, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3739:7:0", + "src": "3738:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12299,7 +12341,7 @@ "name": "_hardCap", "nodeType": "VariableDeclaration", "scope": 301, - "src": "3761:16:0", + "src": "3760:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12310,7 +12352,7 @@ "id": 259, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3761:7:0", + "src": "3760:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12320,17 +12362,17 @@ "visibility": "internal" } ], - "src": "3738:40:0" + "src": "3737:40:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "3821:0:0" + "src": "3820:0:0" }, "scope": 617, - "src": "3713:391:0", + "src": "3712:391:0", "stateMutability": "nonpayable", "superFunction": 838, "visibility": "public" @@ -12339,7 +12381,7 @@ "body": { "id": 340, "nodeType": "Block", - "src": "4263:278:0", + "src": "4262:278:0", "statements": [ { "condition": { @@ -12371,7 +12413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 303, - "src": "4277:15:0", + "src": "4276:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12389,7 +12431,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4295:1:0", + "src": "4294:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12397,7 +12439,7 @@ }, "value": "0" }, - "src": "4277:19:0", + "src": "4276:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12423,7 +12465,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 305, - "src": "4300:13:0", + "src": "4299:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12441,7 +12483,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4316:1:0", + "src": "4315:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12449,13 +12491,13 @@ }, "value": "0" }, - "src": "4300:17:0", + "src": "4299:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4277:40:0", + "src": "4276:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12464,11 +12506,11 @@ "falseBody": null, "id": 326, "nodeType": "IfStatement", - "src": "4273:111:0", + "src": "4272:111:0", "trueBody": { "id": 325, "nodeType": "Block", - "src": "4319:65:0", + "src": "4318:65:0", "statements": [ { "expression": { @@ -12492,7 +12534,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 305, - "src": "4341:13:0", + "src": "4340:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12507,13 +12549,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 303, - "src": "4357:15:0", + "src": "4356:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4341:31:0", + "src": "4340:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12535,7 +12577,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "4333:7:0", + "src": "4332:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -12549,7 +12591,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4333:40:0", + "src": "4332:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12557,7 +12599,7 @@ }, "id": 324, "nodeType": "ExpressionStatement", - "src": "4333:40:0" + "src": "4332:40:0" } ] } @@ -12577,7 +12619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 791, - "src": "4394:14:0", + "src": "4393:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12592,13 +12634,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 303, - "src": "4411:15:0", + "src": "4410:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4394:32:0", + "src": "4393:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12606,7 +12648,7 @@ }, "id": 330, "nodeType": "ExpressionStatement", - "src": "4394:32:0" + "src": "4393:32:0" }, { "expression": { @@ -12623,7 +12665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 793, - "src": "4436:12:0", + "src": "4435:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12638,13 +12680,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 305, - "src": "4451:13:0", + "src": "4450:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4436:28:0", + "src": "4435:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12652,7 +12694,7 @@ }, "id": 334, "nodeType": "ExpressionStatement", - "src": "4436:28:0" + "src": "4435:28:0" }, { "expression": { @@ -12665,7 +12707,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 791, - "src": "4505:14:0", + "src": "4504:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12678,7 +12720,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 793, - "src": "4521:12:0", + "src": "4520:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12701,7 +12743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 691, - "src": "4475:29:0", + "src": "4474:29:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" @@ -12715,7 +12757,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4475:59:0", + "src": "4474:59:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12723,7 +12765,7 @@ }, "id": 339, "nodeType": "ExpressionStatement", - "src": "4475:59:0" + "src": "4474:59:0" } ] }, @@ -12743,14 +12785,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 764, - "src": "4228:18:0", + "src": "4227:18:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4228:20:0" + "src": "4227:20:0" }, { "arguments": [], @@ -12762,14 +12804,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 773, - "src": "4249:11:0", + "src": "4248:11:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4249:13:0" + "src": "4248:13:0" } ], "name": "setCrowdsalePeriod", @@ -12784,7 +12826,7 @@ "name": "_startTimestamp", "nodeType": "VariableDeclaration", "scope": 341, - "src": "4173:23:0", + "src": "4172:23:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12795,7 +12837,7 @@ "id": 302, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4173:7:0", + "src": "4172:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12810,7 +12852,7 @@ "name": "_endTimestamp", "nodeType": "VariableDeclaration", "scope": 341, - "src": "4198:21:0", + "src": "4197:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12821,7 +12863,7 @@ "id": 304, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4198:7:0", + "src": "4197:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12831,17 +12873,17 @@ "visibility": "internal" } ], - "src": "4172:48:0" + "src": "4171:48:0" }, "payable": false, "returnParameters": { "id": 311, "nodeType": "ParameterList", "parameters": [], - "src": "4263:0:0" + "src": "4262:0:0" }, "scope": 617, - "src": "4145:396:0", + "src": "4144:396:0", "stateMutability": "nonpayable", "superFunction": 845, "visibility": "public" @@ -12850,7 +12892,7 @@ "body": { "id": 412, "nodeType": "Block", - "src": "4791:459:0", + "src": "4790:459:0", "statements": [ { "condition": { @@ -12871,7 +12913,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 797, - "src": "4805:9:0", + "src": "4804:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12889,7 +12931,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4818:7:0", + "src": "4817:7:0", "subExpression": { "argumentTypes": null, "id": 351, @@ -12897,7 +12939,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "4819:6:0", + "src": "4818:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12908,7 +12950,7 @@ "typeString": "bool" } }, - "src": "4805:20:0", + "src": "4804:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12917,11 +12959,11 @@ "falseBody": null, "id": 358, "nodeType": "IfStatement", - "src": "4801:59:0", + "src": "4800:59:0", "trueBody": { "id": 357, "nodeType": "Block", - "src": "4827:33:0", + "src": "4826:33:0", "statements": [ { "expression": { @@ -12937,7 +12979,7 @@ 1401 ], "referencedDeclaration": 1400, - "src": "4841:6:0", + "src": "4840:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$__$returns$__$", "typeString": "function () pure" @@ -12951,7 +12993,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4841:8:0", + "src": "4840:8:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12959,7 +13001,7 @@ }, "id": 356, "nodeType": "ExpressionStatement", - "src": "4841:8:0" + "src": "4840:8:0" } ] } @@ -12975,7 +13017,7 @@ "name": "ethBalance", "nodeType": "VariableDeclaration", "scope": 413, - "src": "4870:18:0", + "src": "4869:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12986,7 +13028,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4870:7:0", + "src": "4869:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13009,7 +13051,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, - "src": "4899:4:0", + "src": "4898:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Bridge_$617", "typeString": "contract Bridge" @@ -13029,7 +13071,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4891:7:0", + "src": "4890:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -13044,7 +13086,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4891:13:0", + "src": "4890:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13058,14 +13100,14 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4891:21:0", + "src": "4890:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4870:42:0" + "src": "4869:42:0" }, { "assignments": [ @@ -13078,7 +13120,7 @@ "name": "tokenBalance", "nodeType": "VariableDeclaration", "scope": 413, - "src": "4922:20:0", + "src": "4921:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13089,7 +13131,7 @@ "id": 366, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4922:7:0", + "src": "4921:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13113,7 +13155,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, - "src": "4969:4:0", + "src": "4968:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Bridge_$617", "typeString": "contract Bridge" @@ -13133,7 +13175,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4961:7:0", + "src": "4960:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -13148,7 +13190,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4961:13:0", + "src": "4960:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13169,7 +13211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "4945:5:0", + "src": "4944:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -13183,7 +13225,7 @@ "memberName": "balanceOf", "nodeType": "MemberAccess", "referencedDeclaration": 1362, - "src": "4945:15:0", + "src": "4944:15:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -13197,14 +13239,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4945:30:0", + "src": "4944:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4922:53:0" + "src": "4921:53:0" }, { "expression": { @@ -13239,7 +13281,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "4994:10:0", + "src": "4993:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13254,13 +13296,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "5008:10:0", + "src": "5007:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4994:24:0", + "src": "4993:24:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13286,7 +13328,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 367, - "src": "5022:12:0", + "src": "5021:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13301,19 +13343,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 345, - "src": "5038:12:0", + "src": "5037:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5022:28:0", + "src": "5021:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4994:56:0", + "src": "4993:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13335,7 +13377,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "4986:7:0", + "src": "4985:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -13349,7 +13391,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4986:65:0", + "src": "4985:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13357,7 +13399,7 @@ }, "id": 384, "nodeType": "ExpressionStatement", - "src": "4986:65:0" + "src": "4985:65:0" }, { "condition": { @@ -13378,7 +13420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "5066:10:0", + "src": "5065:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13396,7 +13438,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5079:1:0", + "src": "5078:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13404,7 +13446,7 @@ }, "value": "0" }, - "src": "5066:14:0", + "src": "5065:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13413,11 +13455,11 @@ "falseBody": null, "id": 397, "nodeType": "IfStatement", - "src": "5062:76:0", + "src": "5061:76:0", "trueBody": { "id": 396, "nodeType": "Block", - "src": "5082:56:0", + "src": "5081:56:0", "statements": [ { "expression": { @@ -13430,7 +13472,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "5116:10:0", + "src": "5115:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13453,7 +13495,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "5096:3:0", + "src": "5095:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -13467,7 +13509,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5096:10:0", + "src": "5095:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13481,7 +13523,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5096:19:0", + "src": "5095:19:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -13495,7 +13537,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5096:31:0", + "src": "5095:31:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13503,7 +13545,7 @@ }, "id": 395, "nodeType": "ExpressionStatement", - "src": "5096:31:0" + "src": "5095:31:0" } ] } @@ -13527,7 +13569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 345, - "src": "5152:12:0", + "src": "5151:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13545,7 +13587,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5167:1:0", + "src": "5166:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13553,7 +13595,7 @@ }, "value": "0" }, - "src": "5152:16:0", + "src": "5151:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13562,11 +13604,11 @@ "falseBody": null, "id": 411, "nodeType": "IfStatement", - "src": "5148:96:0", + "src": "5147:96:0", "trueBody": { "id": 410, "nodeType": "Block", - "src": "5170:74:0", + "src": "5169:74:0", "statements": [ { "expression": { @@ -13584,7 +13626,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "5207:3:0", + "src": "5206:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -13598,7 +13640,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5207:10:0", + "src": "5206:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13611,7 +13653,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 345, - "src": "5219:12:0", + "src": "5218:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13636,7 +13678,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "5192:5:0", + "src": "5191:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -13650,7 +13692,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1371, - "src": "5192:14:0", + "src": "5191:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -13664,7 +13706,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5192:40:0", + "src": "5191:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13686,7 +13728,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "5184:7:0", + "src": "5183:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -13700,7 +13742,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5184:49:0", + "src": "5183:49:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13708,7 +13750,7 @@ }, "id": 409, "nodeType": "ExpressionStatement", - "src": "5184:49:0" + "src": "5183:49:0" } ] } @@ -13731,14 +13773,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1162, - "src": "4779:9:0", + "src": "4778:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4779:11:0" + "src": "4778:11:0" } ], "name": "withdraw", @@ -13753,7 +13795,7 @@ "name": "_ethAmount", "nodeType": "VariableDeclaration", "scope": 413, - "src": "4730:18:0", + "src": "4729:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13764,7 +13806,7 @@ "id": 342, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4730:7:0", + "src": "4729:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13779,7 +13821,7 @@ "name": "_tokenAmount", "nodeType": "VariableDeclaration", "scope": 413, - "src": "4750:20:0", + "src": "4749:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13790,7 +13832,7 @@ "id": 344, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4750:7:0", + "src": "4749:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13800,17 +13842,17 @@ "visibility": "internal" } ], - "src": "4729:42:0" + "src": "4728:42:0" }, "payable": false, "returnParameters": { "id": 349, "nodeType": "ParameterList", "parameters": [], - "src": "4791:0:0" + "src": "4790:0:0" }, "scope": 617, - "src": "4712:538:0", + "src": "4711:538:0", "stateMutability": "nonpayable", "superFunction": 871, "visibility": "public" @@ -13819,7 +13861,7 @@ "body": { "id": 422, "nodeType": "Block", - "src": "5384:38:0", + "src": "5383:38:0", "statements": [ { "expression": { @@ -13832,7 +13874,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "5409:5:0", + "src": "5408:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -13852,7 +13894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5401:7:0", + "src": "5400:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -13867,7 +13909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5401:14:0", + "src": "5400:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13876,7 +13918,7 @@ "functionReturnParameters": 417, "id": 421, "nodeType": "Return", - "src": "5394:21:0" + "src": "5393:21:0" } ] }, @@ -13892,7 +13934,7 @@ "id": 414, "nodeType": "ParameterList", "parameters": [], - "src": "5351:2:0" + "src": "5350:2:0" }, "payable": false, "returnParameters": { @@ -13905,7 +13947,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 423, - "src": "5375:7:0", + "src": "5374:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13916,7 +13958,7 @@ "id": 415, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5375:7:0", + "src": "5374:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13926,10 +13968,10 @@ "visibility": "internal" } ], - "src": "5374:9:0" + "src": "5373:9:0" }, "scope": 617, - "src": "5334:88:0", + "src": "5333:88:0", "stateMutability": "view", "superFunction": 826, "visibility": "public" @@ -13938,7 +13980,7 @@ "body": { "id": 430, "nodeType": "Block", - "src": "5475:30:0", + "src": "5474:30:0", "statements": [ { "expression": { @@ -13948,7 +13990,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "5492:6:0", + "src": "5491:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13957,7 +13999,7 @@ "functionReturnParameters": 427, "id": 429, "nodeType": "Return", - "src": "5485:13:0" + "src": "5484:13:0" } ] }, @@ -13973,7 +14015,7 @@ "id": 424, "nodeType": "ParameterList", "parameters": [], - "src": "5445:2:0" + "src": "5444:2:0" }, "payable": false, "returnParameters": { @@ -13986,7 +14028,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 431, - "src": "5469:4:0", + "src": "5468:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13997,7 +14039,7 @@ "id": 425, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5469:4:0", + "src": "5468:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14007,10 +14049,10 @@ "visibility": "internal" } ], - "src": "5468:6:0" + "src": "5467:6:0" }, "scope": 617, - "src": "5428:77:0", + "src": "5427:77:0", "stateMutability": "view", "superFunction": 888, "visibility": "public" @@ -14019,7 +14061,7 @@ "body": { "id": 441, "nodeType": "Block", - "src": "5558:45:0", + "src": "5557:45:0", "statements": [ { "expression": { @@ -14040,7 +14082,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 777, - "src": "5575:7:0", + "src": "5574:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14058,7 +14100,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "5586:10:0", + "src": "5585:10:0", "subExpression": { "argumentTypes": null, "id": 437, @@ -14066,7 +14108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 797, - "src": "5587:9:0", + "src": "5586:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14077,7 +14119,7 @@ "typeString": "bool" } }, - "src": "5575:21:0", + "src": "5574:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14086,7 +14128,7 @@ "functionReturnParameters": 435, "id": 440, "nodeType": "Return", - "src": "5568:28:0" + "src": "5567:28:0" } ] }, @@ -14102,7 +14144,7 @@ "id": 432, "nodeType": "ParameterList", "parameters": [], - "src": "5528:2:0" + "src": "5527:2:0" }, "payable": false, "returnParameters": { @@ -14115,7 +14157,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 442, - "src": "5552:4:0", + "src": "5551:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14126,7 +14168,7 @@ "id": 433, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5552:4:0", + "src": "5551:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14136,10 +14178,10 @@ "visibility": "internal" } ], - "src": "5551:6:0" + "src": "5550:6:0" }, "scope": 617, - "src": "5511:92:0", + "src": "5510:92:0", "stateMutability": "view", "superFunction": 893, "visibility": "public" @@ -14148,7 +14190,7 @@ "body": { "id": 452, "nodeType": "Block", - "src": "5660:44:0", + "src": "5659:44:0", "statements": [ { "expression": { @@ -14169,7 +14211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 797, - "src": "5677:9:0", + "src": "5676:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14187,7 +14229,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "5690:7:0", + "src": "5689:7:0", "subExpression": { "argumentTypes": null, "id": 448, @@ -14195,7 +14237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 799, - "src": "5691:6:0", + "src": "5690:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14206,7 +14248,7 @@ "typeString": "bool" } }, - "src": "5677:20:0", + "src": "5676:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14215,7 +14257,7 @@ "functionReturnParameters": 446, "id": 451, "nodeType": "Return", - "src": "5670:27:0" + "src": "5669:27:0" } ] }, @@ -14231,7 +14273,7 @@ "id": 443, "nodeType": "ParameterList", "parameters": [], - "src": "5630:2:0" + "src": "5629:2:0" }, "payable": false, "returnParameters": { @@ -14244,7 +14286,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 453, - "src": "5654:4:0", + "src": "5653:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14255,7 +14297,7 @@ "id": 444, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5654:4:0", + "src": "5653:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14265,10 +14307,10 @@ "visibility": "internal" } ], - "src": "5653:6:0" + "src": "5652:6:0" }, "scope": 617, - "src": "5609:95:0", + "src": "5608:95:0", "stateMutability": "view", "superFunction": 898, "visibility": "public" @@ -14277,7 +14319,7 @@ "body": { "id": 462, "nodeType": "Block", - "src": "5763:53:0", + "src": "5762:53:0", "statements": [ { "expression": { @@ -14298,7 +14340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "5780:14:0", + "src": "5779:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14313,13 +14355,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 787, - "src": "5798:11:0", + "src": "5797:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5780:29:0", + "src": "5779:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14328,7 +14370,7 @@ "functionReturnParameters": 457, "id": 461, "nodeType": "Return", - "src": "5773:36:0" + "src": "5772:36:0" } ] }, @@ -14344,7 +14386,7 @@ "id": 454, "nodeType": "ParameterList", "parameters": [], - "src": "5733:2:0" + "src": "5732:2:0" }, "payable": false, "returnParameters": { @@ -14357,7 +14399,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 463, - "src": "5757:4:0", + "src": "5756:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14368,7 +14410,7 @@ "id": 455, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5757:4:0", + "src": "5756:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14378,10 +14420,10 @@ "visibility": "internal" } ], - "src": "5756:6:0" + "src": "5755:6:0" }, "scope": 617, - "src": "5710:106:0", + "src": "5709:106:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -14390,7 +14432,7 @@ "body": { "id": 539, "nodeType": "Block", - "src": "5945:654:0", + "src": "5944:654:0", "statements": [ { "assignments": [ @@ -14403,7 +14445,7 @@ "name": "tokenRewardPart", "nodeType": "VariableDeclaration", "scope": 540, - "src": "5955:23:0", + "src": "5954:23:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14414,7 +14456,7 @@ "id": 470, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5955:7:0", + "src": "5954:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14440,7 +14482,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "5998:7:0", + "src": "5997:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14459,7 +14501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 941, - "src": "5981:16:0", + "src": "5980:16:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWingsController_$941_$", "typeString": "type(contract IWingsController)" @@ -14473,7 +14515,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5981:25:0", + "src": "5980:25:0", "typeDescriptions": { "typeIdentifier": "t_contract$_IWingsController_$941", "typeString": "contract IWingsController" @@ -14487,7 +14529,7 @@ "memberName": "tokenRewardPart", "nodeType": "MemberAccess", "referencedDeclaration": 924, - "src": "5981:41:0", + "src": "5980:41:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" @@ -14501,14 +14543,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5981:43:0", + "src": "5980:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "5955:69:0" + "src": "5954:69:0" }, { "assignments": [ @@ -14521,7 +14563,7 @@ "name": "ethRewardPart", "nodeType": "VariableDeclaration", "scope": 540, - "src": "6034:21:0", + "src": "6033:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14532,7 +14574,7 @@ "id": 478, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6034:7:0", + "src": "6033:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14558,7 +14600,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "6075:7:0", + "src": "6074:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14577,7 +14619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 941, - "src": "6058:16:0", + "src": "6057:16:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWingsController_$941_$", "typeString": "type(contract IWingsController)" @@ -14591,7 +14633,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6058:25:0", + "src": "6057:25:0", "typeDescriptions": { "typeIdentifier": "t_contract$_IWingsController_$941", "typeString": "contract IWingsController" @@ -14605,7 +14647,7 @@ "memberName": "ethRewardPart", "nodeType": "MemberAccess", "referencedDeclaration": 922, - "src": "6058:39:0", + "src": "6057:39:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" @@ -14619,14 +14661,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6058:41:0", + "src": "6057:41:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6034:65:0" + "src": "6033:65:0" }, { "assignments": [], @@ -14637,7 +14679,7 @@ "name": "ethReward", "nodeType": "VariableDeclaration", "scope": 540, - "src": "6109:17:0", + "src": "6108:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14648,7 +14690,7 @@ "id": 486, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6109:7:0", + "src": "6108:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14661,7 +14703,7 @@ "id": 488, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "6109:17:0" + "src": "6108:17:0" }, { "assignments": [ @@ -14674,7 +14716,7 @@ "name": "hasEthReward", "nodeType": "VariableDeclaration", "scope": 540, - "src": "6136:17:0", + "src": "6135:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14685,7 +14727,7 @@ "id": 489, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6136:4:0", + "src": "6135:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14717,7 +14759,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 479, - "src": "6157:13:0", + "src": "6156:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14735,7 +14777,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6174:1:0", + "src": "6173:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14743,7 +14785,7 @@ }, "value": "0" }, - "src": "6157:18:0", + "src": "6156:18:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14757,14 +14799,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6156:20:0", + "src": "6155:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "6136:40:0" + "src": "6135:40:0" }, { "assignments": [ @@ -14777,7 +14819,7 @@ "name": "tokenReward", "nodeType": "VariableDeclaration", "scope": 540, - "src": "6187:19:0", + "src": "6186:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14788,7 +14830,7 @@ "id": 496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6187:7:0", + "src": "6186:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14820,7 +14862,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 471, - "src": "6223:15:0", + "src": "6222:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14841,7 +14883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 785, - "src": "6209:9:0", + "src": "6208:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14855,7 +14897,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1069, - "src": "6209:13:0", + "src": "6208:13: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)" @@ -14869,7 +14911,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6209:30:0", + "src": "6208:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14887,7 +14929,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6242:7:0", + "src": "6241:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -14895,14 +14937,14 @@ }, "value": "1000000" }, - "src": "6209:40:0", + "src": "6208:40:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6187:62:0" + "src": "6186:62:0" }, { "condition": { @@ -14923,7 +14965,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 783, - "src": "6264:17:0", + "src": "6263:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14941,7 +14983,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6285:1:0", + "src": "6284:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14949,7 +14991,7 @@ }, "value": "0" }, - "src": "6264:22:0", + "src": "6263:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14958,11 +15000,11 @@ "falseBody": null, "id": 513, "nodeType": "IfStatement", - "src": "6260:87:0", + "src": "6259:87:0", "trueBody": { "id": 512, "nodeType": "Block", - "src": "6288:59:0", + "src": "6287:59:0", "statements": [ { "expression": { @@ -14979,7 +15021,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "6302:14:0", + "src": "6301:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14994,13 +15036,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 783, - "src": "6319:17:0", + "src": "6318:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6302:34:0", + "src": "6301:34:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15008,7 +15050,7 @@ }, "id": 511, "nodeType": "ExpressionStatement", - "src": "6302:34:0" + "src": "6301:34:0" } ] } @@ -15028,7 +15070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "6357:14:0", + "src": "6356:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15046,7 +15088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "6427:14:0", + "src": "6426:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15070,7 +15112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "6391:7:0", + "src": "6390:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15089,7 +15131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 941, - "src": "6374:16:0", + "src": "6373:16:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWingsController_$941_$", "typeString": "type(contract IWingsController)" @@ -15103,7 +15145,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6374:25:0", + "src": "6373:25:0", "typeDescriptions": { "typeIdentifier": "t_contract$_IWingsController_$941", "typeString": "contract IWingsController" @@ -15117,7 +15159,7 @@ "memberName": "fitCollectedValueIntoRange", "nodeType": "MemberAccess", "referencedDeclaration": 931, - "src": "6374:52:0", + "src": "6373:52:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view external returns (uint256)" @@ -15131,13 +15173,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6374:68:0", + "src": "6373:68:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6357:85:0", + "src": "6356:85:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15145,7 +15187,7 @@ }, "id": 522, "nodeType": "ExpressionStatement", - "src": "6357:85:0" + "src": "6356:85:0" }, { "condition": { @@ -15155,7 +15197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 490, - "src": "6457:12:0", + "src": "6456:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15164,11 +15206,11 @@ "falseBody": null, "id": 534, "nodeType": "IfStatement", - "src": "6453:98:0", + "src": "6452:98:0", "trueBody": { "id": 533, "nodeType": "Block", - "src": "6471:80:0", + "src": "6470:80:0", "statements": [ { "expression": { @@ -15185,7 +15227,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 487, - "src": "6485:9:0", + "src": "6484:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15214,7 +15256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 479, - "src": "6516:13:0", + "src": "6515:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15235,7 +15277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 781, - "src": "6497:14:0", + "src": "6496:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15249,7 +15291,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1069, - "src": "6497:18:0", + "src": "6496:18: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)" @@ -15263,7 +15305,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6497:33:0", + "src": "6496:33:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15281,7 +15323,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6533:7:0", + "src": "6532:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -15289,13 +15331,13 @@ }, "value": "1000000" }, - "src": "6497:43:0", + "src": "6496:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6485:55:0", + "src": "6484:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15303,7 +15345,7 @@ }, "id": 532, "nodeType": "ExpressionStatement", - "src": "6485:55:0" + "src": "6484:55:0" } ] } @@ -15319,7 +15361,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 487, - "src": "6569:9:0", + "src": "6568:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15332,7 +15374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "6580:11:0", + "src": "6579:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15346,7 +15388,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "6568:24:0", + "src": "6567:24:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -15355,7 +15397,7 @@ "functionReturnParameters": 469, "id": 538, "nodeType": "Return", - "src": "6561:31:0" + "src": "6560:31:0" } ] }, @@ -15371,7 +15413,7 @@ "id": 464, "nodeType": "ParameterList", "parameters": [], - "src": "5903:2:0" + "src": "5902:2:0" }, "payable": false, "returnParameters": { @@ -15384,7 +15426,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 540, - "src": "5927:7:0", + "src": "5926:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15395,7 +15437,7 @@ "id": 465, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5927:7:0", + "src": "5926:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15410,7 +15452,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 540, - "src": "5936:7:0", + "src": "5935:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15421,7 +15463,7 @@ "id": 467, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5936:7:0", + "src": "5935:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15431,10 +15473,10 @@ "visibility": "internal" } ], - "src": "5926:18:0" + "src": "5925:18:0" }, "scope": 617, - "src": "5878:721:0", + "src": "5877:721:0", "stateMutability": "view", "superFunction": 861, "visibility": "public" @@ -15443,7 +15485,7 @@ "body": { "id": 611, "nodeType": "Block", - "src": "6719:750:0", + "src": "6718:750:0", "statements": [ { "assignments": [], @@ -15454,7 +15496,7 @@ "name": "ethReward", "nodeType": "VariableDeclaration", "scope": 612, - "src": "6729:17:0", + "src": "6728:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15465,7 +15507,7 @@ "id": 545, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6729:7:0", + "src": "6728:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15478,7 +15520,7 @@ "id": 547, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "6729:17:0" + "src": "6728:17:0" }, { "assignments": [], @@ -15489,7 +15531,7 @@ "name": "tokenReward", "nodeType": "VariableDeclaration", "scope": 612, - "src": "6756:19:0", + "src": "6755:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15500,7 +15542,7 @@ "id": 548, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6756:7:0", + "src": "6755:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15513,7 +15555,7 @@ "id": 550, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "6756:19:0" + "src": "6755:19:0" }, { "expression": { @@ -15533,7 +15575,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 546, - "src": "6787:9:0", + "src": "6786:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15546,7 +15588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 549, - "src": "6798:11:0", + "src": "6797:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15560,7 +15602,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "6786:24:0", + "src": "6785:24:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -15580,7 +15622,7 @@ 540 ], "referencedDeclaration": 540, - "src": "6813:16:0", + "src": "6812:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$", "typeString": "function () view returns (uint256,uint256)" @@ -15594,13 +15636,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6813:18:0", + "src": "6812:18:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "6786:45:0", + "src": "6785:45:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15608,7 +15650,7 @@ }, "id": 557, "nodeType": "ExpressionStatement", - "src": "6786:45:0" + "src": "6785:45:0" }, { "condition": { @@ -15629,7 +15671,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 546, - "src": "6911:9:0", + "src": "6910:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15647,7 +15689,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6923:1:0", + "src": "6922:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15655,7 +15697,7 @@ }, "value": "0" }, - "src": "6911:13:0", + "src": "6910:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15664,11 +15706,11 @@ "falseBody": null, "id": 576, "nodeType": "IfStatement", - "src": "6907:173:0", + "src": "6906:173:0", "trueBody": { "id": 575, "nodeType": "Block", - "src": "6926:154:0", + "src": "6925:154:0", "statements": [ { "assignments": [ @@ -15681,7 +15723,7 @@ "name": "ethBalance", "nodeType": "VariableDeclaration", "scope": 612, - "src": "6940:18:0", + "src": "6939:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15692,7 +15734,7 @@ "id": 561, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6940:7:0", + "src": "6939:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15715,7 +15757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, - "src": "6969:4:0", + "src": "6968:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Bridge_$617", "typeString": "contract Bridge" @@ -15735,7 +15777,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6961:7:0", + "src": "6960:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15750,7 +15792,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6961:13:0", + "src": "6960:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15764,14 +15806,14 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6961:21:0", + "src": "6960:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6940:42:0" + "src": "6939:42:0" }, { "condition": { @@ -15792,7 +15834,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 562, - "src": "7001:10:0", + "src": "7000:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15807,13 +15849,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 546, - "src": "7014:9:0", + "src": "7013:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7001:22:0", + "src": "7000:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15822,11 +15864,11 @@ "falseBody": null, "id": 574, "nodeType": "IfStatement", - "src": "6997:73:0", + "src": "6996:73:0", "trueBody": { "id": 573, "nodeType": "Block", - "src": "7025:45:0", + "src": "7024:45:0", "statements": [ { "expression": { @@ -15839,7 +15881,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7050:5:0", + "src": "7049:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15850,7 +15892,7 @@ "functionReturnParameters": 544, "id": 572, "nodeType": "Return", - "src": "7043:12:0" + "src": "7042:12:0" } ] } @@ -15877,7 +15919,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 549, - "src": "7162:11:0", + "src": "7161:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15895,7 +15937,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7176:1:0", + "src": "7175:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15903,7 +15945,7 @@ }, "value": "0" }, - "src": "7162:15:0", + "src": "7161:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15912,11 +15954,11 @@ "falseBody": null, "id": 608, "nodeType": "IfStatement", - "src": "7158:283:0", + "src": "7157:283:0", "trueBody": { "id": 607, "nodeType": "Block", - "src": "7179:262:0", + "src": "7178:262:0", "statements": [ { "condition": { @@ -15940,7 +15982,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "7205:5:0", + "src": "7204:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -15960,7 +16002,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7197:7:0", + "src": "7196:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15975,7 +16017,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7197:14:0", + "src": "7196:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15996,7 +16038,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7223:1:0", + "src": "7222:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16018,7 +16060,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7215:7:0", + "src": "7214:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -16033,13 +16075,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7215:10:0", + "src": "7214:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7197:28:0", + "src": "7196:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16048,11 +16090,11 @@ "falseBody": null, "id": 590, "nodeType": "IfStatement", - "src": "7193:79:0", + "src": "7192:79:0", "trueBody": { "id": 589, "nodeType": "Block", - "src": "7227:45:0", + "src": "7226:45:0", "statements": [ { "expression": { @@ -16065,7 +16107,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7252:5:0", + "src": "7251:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16076,7 +16118,7 @@ "functionReturnParameters": 544, "id": 588, "nodeType": "Return", - "src": "7245:12:0" + "src": "7244:12:0" } ] } @@ -16092,7 +16134,7 @@ "name": "tokenBalance", "nodeType": "VariableDeclaration", "scope": 612, - "src": "7286:20:0", + "src": "7285:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16103,7 +16145,7 @@ "id": 591, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7286:7:0", + "src": "7285:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16127,7 +16169,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, - "src": "7333:4:0", + "src": "7332:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Bridge_$617", "typeString": "contract Bridge" @@ -16147,7 +16189,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7325:7:0", + "src": "7324:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -16162,7 +16204,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7325:13:0", + "src": "7324:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16183,7 +16225,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 795, - "src": "7309:5:0", + "src": "7308:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_DetailedERC20_$1308", "typeString": "contract DetailedERC20" @@ -16197,7 +16239,7 @@ "memberName": "balanceOf", "nodeType": "MemberAccess", "referencedDeclaration": 1362, - "src": "7309:15:0", + "src": "7308:15:0", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -16211,14 +16253,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7309:30:0", + "src": "7308:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7286:53:0" + "src": "7285:53:0" }, { "condition": { @@ -16239,7 +16281,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "7358:12:0", + "src": "7357:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16254,13 +16296,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 549, - "src": "7373:11:0", + "src": "7372:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7358:26:0", + "src": "7357:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16269,11 +16311,11 @@ "falseBody": null, "id": 606, "nodeType": "IfStatement", - "src": "7354:77:0", + "src": "7353:77:0", "trueBody": { "id": 605, "nodeType": "Block", - "src": "7386:45:0", + "src": "7385:45:0", "statements": [ { "expression": { @@ -16286,7 +16328,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7411:5:0", + "src": "7410:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16297,7 +16339,7 @@ "functionReturnParameters": 544, "id": 604, "nodeType": "Return", - "src": "7404:12:0" + "src": "7403:12:0" } ] } @@ -16316,7 +16358,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7458:4:0", + "src": "7457:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16327,7 +16369,7 @@ "functionReturnParameters": 544, "id": 610, "nodeType": "Return", - "src": "7451:11:0" + "src": "7450:11:0" } ] }, @@ -16343,7 +16385,7 @@ "id": 541, "nodeType": "ParameterList", "parameters": [], - "src": "6689:2:0" + "src": "6688:2:0" }, "payable": false, "returnParameters": { @@ -16356,7 +16398,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 612, - "src": "6713:4:0", + "src": "6712:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16367,7 +16409,7 @@ "id": 542, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6713:4:0", + "src": "6712:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16377,10 +16419,10 @@ "visibility": "internal" } ], - "src": "6712:6:0" + "src": "6711:6:0" }, "scope": 617, - "src": "6665:804:0", + "src": "6664:804:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -16389,7 +16431,7 @@ "body": { "id": 615, "nodeType": "Block", - "src": "7534:7:0", + "src": "7533:7:0", "statements": [] }, "documentation": null, @@ -16404,27 +16446,27 @@ "id": 613, "nodeType": "ParameterList", "parameters": [], - "src": "7516:2:0" + "src": "7515:2:0" }, "payable": true, "returnParameters": { "id": 614, "nodeType": "ParameterList", "parameters": [], - "src": "7534:0:0" + "src": "7533:0:0" }, "scope": 617, - "src": "7508:33:0", + "src": "7507:33:0", "stateMutability": "payable", "superFunction": null, "visibility": "public" } ], "scope": 618, - "src": "92:7451:0" + "src": "92:7450:0" } ], - "src": "0:7544:0" + "src": "0:7543:0" }, "compiler": { "name": "solc", @@ -16432,5 +16474,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.018Z" + "updatedAt": "2018-10-16T06:55:43.571Z" } \ No newline at end of file diff --git a/build/contracts/ControllerStub.json b/build/contracts/ControllerStub.json index 38f6fb8..1cc7e48 100644 --- a/build/contracts/ControllerStub.json +++ b/build/contracts/ControllerStub.json @@ -1121,5 +1121,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.026Z" + "updatedAt": "2018-10-16T06:55:43.626Z" } \ No newline at end of file diff --git a/build/contracts/DefaultToken.json b/build/contracts/DefaultToken.json index 9ea4f27..4c3323a 100644 --- a/build/contracts/DefaultToken.json +++ b/build/contracts/DefaultToken.json @@ -965,5 +965,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.023Z" + "updatedAt": "2018-10-16T06:55:43.623Z" } \ No newline at end of file diff --git a/build/contracts/DetailedERC20.json b/build/contracts/DetailedERC20.json index b82c039..3cd31a3 100644 --- a/build/contracts/DetailedERC20.json +++ b/build/contracts/DetailedERC20.json @@ -1060,5 +1060,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.028Z" + "updatedAt": "2018-10-16T06:55:43.629Z" } \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json index 8387f51..b7d94ca 100644 --- a/build/contracts/ERC20.json +++ b/build/contracts/ERC20.json @@ -1233,5 +1233,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.029Z" + "updatedAt": "2018-10-16T06:55:43.629Z" } \ No newline at end of file diff --git a/build/contracts/ERC20Basic.json b/build/contracts/ERC20Basic.json index 88fcc38..7a081da 100644 --- a/build/contracts/ERC20Basic.json +++ b/build/contracts/ERC20Basic.json @@ -802,5 +802,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.030Z" + "updatedAt": "2018-10-16T06:55:43.629Z" } \ No newline at end of file diff --git a/build/contracts/IBridge.json b/build/contracts/IBridge.json index 9e6a633..e243804 100644 --- a/build/contracts/IBridge.json +++ b/build/contracts/IBridge.json @@ -99,6 +99,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "completed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -113,6 +127,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "failed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -141,6 +169,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "notifiedSale", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": false, "inputs": [ @@ -506,7 +548,7 @@ "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.4.18;\n\n\nimport 'zeppelin-solidity/contracts/ownership/Ownable.sol';\nimport 'zeppelin-solidity/contracts/math/SafeMath.sol';\nimport 'zeppelin-solidity/contracts/token/DetailedERC20.sol';\n\nimport './IWingsController.sol';\n\n\ncontract IBridge is Ownable {\n\n using SafeMath for uint256;\n\n event CROWDSALE_START(uint256 startTimestamp, uint256 endTimestamp, address fundingAddress);\n event CUSTOM_CROWDSALE_TOKEN_ADDED(address token, uint8 decimals);\n event CUSTOM_CROWDSALE_GOAL_ADDED(uint256 minimalGoal, uint256 hardCap);\n event CUSTOM_CROWDSALE_PERIOD_ADDED(uint256 startTimestamp, uint256 endTimestamp);\n event CUSTOM_CROWDSALE_FINISH();\n\n modifier whenCrowdsaleAlive() {\n require(isActive());\n _;\n }\n\n modifier whenCrowdsaleSuccessful() {\n require(isSuccessful());\n _;\n }\n\n modifier hasntStopped() {\n require(!stopped);\n _;\n }\n\n modifier hasntStarted() {\n require(!started);\n _;\n }\n\n modifier hasBeenStarted() {\n require(started);\n _;\n }\n\n modifier onlyManager {\n require(msg.sender == manager);\n _;\n }\n\n modifier onlyOwnerOrManager() {\n require(msg.sender == owner || msg.sender == manager);\n _;\n }\n\n modifier uncompleted() {\n require(!completed);\n _;\n }\n\n address public manager;\n\n bool public started;\n bool public stopped;\n\n // Total collected forecast question currency\n uint256 public totalCollected;\n\n // Total collected Ether\n uint256 public totalCollectedETH;\n\n // Total amount of project's token sold: must be updated every time tokens has been sold\n uint256 public totalSold;\n\n // Crowdsale goals\n uint256 public minimalGoal;\n uint256 public hardCap;\n\n // Crowdsale time frame\n uint256 public startTimestamp;\n uint256 public endTimestamp;\n\n // crowdsale token must be ERC20-compliant\n DetailedERC20 token;\n\n // crowdsale status\n bool completed;\n bool failed;\n\n // whether sale results were communicated to crowdsale controller or not\n bool notifiedSale;\n\n function transferManager(address _newManager) public onlyManager() {\n require(_newManager != address(0));\n manager = _newManager;\n }\n\n function getToken() public view returns (address);\n function changeToken(address _newToken) public;\n function setCrowdsaleGoal(uint256 _minimalGoal, uint256 _hardCap) public;\n function setCrowdsalePeriod(uint256 _startTimestamp, uint256 _endTimestamp) public;\n function notifySale(uint256 _amount, uint256 _ethAmount, uint256 _tokensAmount) public;\n function calculateRewards() public view returns (uint256, uint256);\n function finish() public;\n function withdraw(uint256 _ethAmount, uint256 _tokenAmount) public;\n function stop() public;\n function start(uint256 _startTimestamp, uint256 _endTimestamp, address _fundingAddress) public;\n function isFailed() public view returns (bool);\n function isActive() public view returns (bool);\n function isSuccessful() public view returns (bool);\n\n function releaseTokens() public {}\n function deposit() public payable {}\n}\n", + "source": "pragma solidity ^0.4.18;\n\n\nimport 'zeppelin-solidity/contracts/ownership/Ownable.sol';\nimport 'zeppelin-solidity/contracts/math/SafeMath.sol';\nimport 'zeppelin-solidity/contracts/token/DetailedERC20.sol';\n\nimport './IWingsController.sol';\n\n\ncontract IBridge is Ownable {\n\n using SafeMath for uint256;\n\n event CROWDSALE_START(uint256 startTimestamp, uint256 endTimestamp, address fundingAddress);\n event CUSTOM_CROWDSALE_TOKEN_ADDED(address token, uint8 decimals);\n event CUSTOM_CROWDSALE_GOAL_ADDED(uint256 minimalGoal, uint256 hardCap);\n event CUSTOM_CROWDSALE_PERIOD_ADDED(uint256 startTimestamp, uint256 endTimestamp);\n event CUSTOM_CROWDSALE_FINISH();\n\n modifier whenCrowdsaleAlive() {\n require(isActive());\n _;\n }\n\n modifier whenCrowdsaleSuccessful() {\n require(isSuccessful());\n _;\n }\n\n modifier hasntStopped() {\n require(!stopped);\n _;\n }\n\n modifier hasntStarted() {\n require(!started);\n _;\n }\n\n modifier hasBeenStarted() {\n require(started);\n _;\n }\n\n modifier onlyManager {\n require(msg.sender == manager);\n _;\n }\n\n modifier onlyOwnerOrManager() {\n require(msg.sender == owner || msg.sender == manager);\n _;\n }\n\n modifier uncompleted() {\n require(!completed);\n _;\n }\n\n address public manager;\n\n bool public started;\n bool public stopped;\n\n // Total collected forecast question currency\n uint256 public totalCollected;\n\n // Total collected Ether\n uint256 public totalCollectedETH;\n\n // Total amount of project's token sold: must be updated every time tokens has been sold\n uint256 public totalSold;\n\n // Crowdsale goals\n uint256 public minimalGoal;\n uint256 public hardCap;\n\n // Crowdsale time frame\n uint256 public startTimestamp;\n uint256 public endTimestamp;\n\n // crowdsale token must be ERC20-compliant\n DetailedERC20 token;\n\n // crowdsale status\n bool public completed;\n bool public failed;\n\n // whether sale results were communicated to crowdsale controller or not\n bool public notifiedSale;\n\n function transferManager(address _newManager) public onlyManager() {\n require(_newManager != address(0));\n manager = _newManager;\n }\n\n function getToken() public view returns (address);\n function changeToken(address _newToken) public;\n function setCrowdsaleGoal(uint256 _minimalGoal, uint256 _hardCap) public;\n function setCrowdsalePeriod(uint256 _startTimestamp, uint256 _endTimestamp) public;\n function notifySale(uint256 _amount, uint256 _ethAmount, uint256 _tokensAmount) public;\n function calculateRewards() public view returns (uint256, uint256);\n function finish() public;\n function withdraw(uint256 _ethAmount, uint256 _tokenAmount) public;\n function stop() public;\n function start(uint256 _startTimestamp, uint256 _endTimestamp, address _fundingAddress) public;\n function isFailed() public view returns (bool);\n function isActive() public view returns (bool);\n function isSuccessful() public view returns (bool);\n\n function releaseTokens() public {}\n function deposit() public payable {}\n}\n", "sourcePath": "/Users/solidity/Desktop/github/wings-light-bridge/contracts/interfaces/IBridge.sol", "ast": { "absolutePath": "/Users/solidity/Desktop/github/wings-light-bridge/contracts/interfaces/IBridge.sol", @@ -2168,7 +2210,7 @@ "name": "completed", "nodeType": "VariableDeclaration", "scope": 907, - "src": "1994:14:3", + "src": "1994:21:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2186,7 +2228,7 @@ } }, "value": null, - "visibility": "internal" + "visibility": "public" }, { "constant": false, @@ -2194,7 +2236,7 @@ "name": "failed", "nodeType": "VariableDeclaration", "scope": 907, - "src": "2014:11:3", + "src": "2021:18:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2205,14 +2247,14 @@ "id": 798, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2014:4:3", + "src": "2021:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, - "visibility": "internal" + "visibility": "public" }, { "constant": false, @@ -2220,7 +2262,7 @@ "name": "notifiedSale", "nodeType": "VariableDeclaration", "scope": 907, - "src": "2109:17:3", + "src": "2123:24:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2231,20 +2273,20 @@ "id": 800, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2109:4:3", + "src": "2123:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, - "visibility": "internal" + "visibility": "public" }, { "body": { "id": 820, "nodeType": "Block", - "src": "2200:82:3", + "src": "2221:82:3", "statements": [ { "expression": { @@ -2268,7 +2310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 803, - "src": "2218:11:3", + "src": "2239:11:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2289,7 +2331,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2241:1:3", + "src": "2262:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2311,7 +2353,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2233:7:3", + "src": "2254:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2326,13 +2368,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2233:10:3", + "src": "2254:10:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2218:25:3", + "src": "2239:25:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2354,7 +2396,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "2210:7:3", + "src": "2231:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2368,7 +2410,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2210:34:3", + "src": "2231:34:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2376,7 +2418,7 @@ }, "id": 815, "nodeType": "ExpressionStatement", - "src": "2210:34:3" + "src": "2231:34:3" }, { "expression": { @@ -2393,7 +2435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "2254:7:3", + "src": "2275:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2408,13 +2450,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 803, - "src": "2264:11:3", + "src": "2285:11:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2254:21:3", + "src": "2275:21:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2422,7 +2464,7 @@ }, "id": 819, "nodeType": "ExpressionStatement", - "src": "2254:21:3" + "src": "2275:21:3" } ] }, @@ -2442,14 +2484,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 748, - "src": "2186:11:3", + "src": "2207:11:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2186:13:3" + "src": "2207:13:3" } ], "name": "transferManager", @@ -2464,7 +2506,7 @@ "name": "_newManager", "nodeType": "VariableDeclaration", "scope": 821, - "src": "2158:19:3", + "src": "2179:19:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2475,7 +2517,7 @@ "id": 802, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2158:7:3", + "src": "2179:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2485,17 +2527,17 @@ "visibility": "internal" } ], - "src": "2157:21:3" + "src": "2178:21:3" }, "payable": false, "returnParameters": { "id": 807, "nodeType": "ParameterList", "parameters": [], - "src": "2200:0:3" + "src": "2221:0:3" }, "scope": 907, - "src": "2133:149:3", + "src": "2154:149:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2514,7 +2556,7 @@ "id": 822, "nodeType": "ParameterList", "parameters": [], - "src": "2305:2:3" + "src": "2326:2:3" }, "payable": false, "returnParameters": { @@ -2527,7 +2569,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 826, - "src": "2329:7:3", + "src": "2350:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2538,7 +2580,7 @@ "id": 823, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2329:7:3", + "src": "2350:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2548,10 +2590,10 @@ "visibility": "internal" } ], - "src": "2328:9:3" + "src": "2349:9:3" }, "scope": 907, - "src": "2288:50:3", + "src": "2309:50:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -2576,7 +2618,7 @@ "name": "_newToken", "nodeType": "VariableDeclaration", "scope": 831, - "src": "2364:17:3", + "src": "2385:17:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2587,7 +2629,7 @@ "id": 827, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2364:7:3", + "src": "2385:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2597,17 +2639,17 @@ "visibility": "internal" } ], - "src": "2363:19:3" + "src": "2384:19:3" }, "payable": false, "returnParameters": { "id": 830, "nodeType": "ParameterList", "parameters": [], - "src": "2389:0:3" + "src": "2410:0:3" }, "scope": 907, - "src": "2343:47:3", + "src": "2364:47:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2632,7 +2674,7 @@ "name": "_minimalGoal", "nodeType": "VariableDeclaration", "scope": 838, - "src": "2421:20:3", + "src": "2442:20:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2643,7 +2685,7 @@ "id": 832, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2421:7:3", + "src": "2442:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2658,7 +2700,7 @@ "name": "_hardCap", "nodeType": "VariableDeclaration", "scope": 838, - "src": "2443:16:3", + "src": "2464:16:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2669,7 +2711,7 @@ "id": 834, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2443:7:3", + "src": "2464:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2679,17 +2721,17 @@ "visibility": "internal" } ], - "src": "2420:40:3" + "src": "2441:40:3" }, "payable": false, "returnParameters": { "id": 837, "nodeType": "ParameterList", "parameters": [], - "src": "2467:0:3" + "src": "2488:0:3" }, "scope": 907, - "src": "2395:73:3", + "src": "2416:73:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2714,7 +2756,7 @@ "name": "_startTimestamp", "nodeType": "VariableDeclaration", "scope": 845, - "src": "2501:23:3", + "src": "2522:23:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2725,7 +2767,7 @@ "id": 839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2501:7:3", + "src": "2522:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2740,7 +2782,7 @@ "name": "_endTimestamp", "nodeType": "VariableDeclaration", "scope": 845, - "src": "2526:21:3", + "src": "2547:21:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2751,7 +2793,7 @@ "id": 841, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2526:7:3", + "src": "2547:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2761,17 +2803,17 @@ "visibility": "internal" } ], - "src": "2500:48:3" + "src": "2521:48:3" }, "payable": false, "returnParameters": { "id": 844, "nodeType": "ParameterList", "parameters": [], - "src": "2555:0:3" + "src": "2576:0:3" }, "scope": 907, - "src": "2473:83:3", + "src": "2494:83:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2796,7 +2838,7 @@ "name": "_amount", "nodeType": "VariableDeclaration", "scope": 854, - "src": "2581:15:3", + "src": "2602:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2807,7 +2849,7 @@ "id": 846, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2581:7:3", + "src": "2602:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2822,7 +2864,7 @@ "name": "_ethAmount", "nodeType": "VariableDeclaration", "scope": 854, - "src": "2598:18:3", + "src": "2619:18:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2833,7 +2875,7 @@ "id": 848, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2598:7:3", + "src": "2619:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2848,7 +2890,7 @@ "name": "_tokensAmount", "nodeType": "VariableDeclaration", "scope": 854, - "src": "2618:21:3", + "src": "2639:21:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2859,7 +2901,7 @@ "id": 850, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2618:7:3", + "src": "2639:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2869,17 +2911,17 @@ "visibility": "internal" } ], - "src": "2580:60:3" + "src": "2601:60:3" }, "payable": false, "returnParameters": { "id": 853, "nodeType": "ParameterList", "parameters": [], - "src": "2647:0:3" + "src": "2668:0:3" }, "scope": 907, - "src": "2561:87:3", + "src": "2582:87:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2898,7 +2940,7 @@ "id": 855, "nodeType": "ParameterList", "parameters": [], - "src": "2678:2:3" + "src": "2699:2:3" }, "payable": false, "returnParameters": { @@ -2911,7 +2953,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 861, - "src": "2702:7:3", + "src": "2723:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2922,7 +2964,7 @@ "id": 856, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2702:7:3", + "src": "2723:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2937,7 +2979,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 861, - "src": "2711:7:3", + "src": "2732:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2948,7 +2990,7 @@ "id": 858, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2711:7:3", + "src": "2732:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2958,10 +3000,10 @@ "visibility": "internal" } ], - "src": "2701:18:3" + "src": "2722:18:3" }, "scope": 907, - "src": "2653:67:3", + "src": "2674:67:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -2980,17 +3022,17 @@ "id": 862, "nodeType": "ParameterList", "parameters": [], - "src": "2740:2:3" + "src": "2761:2:3" }, "payable": false, "returnParameters": { "id": 863, "nodeType": "ParameterList", "parameters": [], - "src": "2749:0:3" + "src": "2770:0:3" }, "scope": 907, - "src": "2725:25:3", + "src": "2746:25:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3015,7 +3057,7 @@ "name": "_ethAmount", "nodeType": "VariableDeclaration", "scope": 871, - "src": "2773:18:3", + "src": "2794:18:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3026,7 +3068,7 @@ "id": 865, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2773:7:3", + "src": "2794:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3041,7 +3083,7 @@ "name": "_tokenAmount", "nodeType": "VariableDeclaration", "scope": 871, - "src": "2793:20:3", + "src": "2814:20:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3052,7 +3094,7 @@ "id": 867, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2793:7:3", + "src": "2814:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3062,17 +3104,17 @@ "visibility": "internal" } ], - "src": "2772:42:3" + "src": "2793:42:3" }, "payable": false, "returnParameters": { "id": 870, "nodeType": "ParameterList", "parameters": [], - "src": "2821:0:3" + "src": "2842:0:3" }, "scope": 907, - "src": "2755:67:3", + "src": "2776:67:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3091,17 +3133,17 @@ "id": 872, "nodeType": "ParameterList", "parameters": [], - "src": "2840:2:3" + "src": "2861:2:3" }, "payable": false, "returnParameters": { "id": 873, "nodeType": "ParameterList", "parameters": [], - "src": "2849:0:3" + "src": "2870:0:3" }, "scope": 907, - "src": "2827:23:3", + "src": "2848:23:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3126,7 +3168,7 @@ "name": "_startTimestamp", "nodeType": "VariableDeclaration", "scope": 883, - "src": "2870:23:3", + "src": "2891:23:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3137,7 +3179,7 @@ "id": 875, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2870:7:3", + "src": "2891:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3152,7 +3194,7 @@ "name": "_endTimestamp", "nodeType": "VariableDeclaration", "scope": 883, - "src": "2895:21:3", + "src": "2916:21:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3163,7 +3205,7 @@ "id": 877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2895:7:3", + "src": "2916:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3178,7 +3220,7 @@ "name": "_fundingAddress", "nodeType": "VariableDeclaration", "scope": 883, - "src": "2918:23:3", + "src": "2939:23:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3189,7 +3231,7 @@ "id": 879, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2918:7:3", + "src": "2939:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3199,17 +3241,17 @@ "visibility": "internal" } ], - "src": "2869:73:3" + "src": "2890:73:3" }, "payable": false, "returnParameters": { "id": 882, "nodeType": "ParameterList", "parameters": [], - "src": "2949:0:3" + "src": "2970:0:3" }, "scope": 907, - "src": "2855:95:3", + "src": "2876:95:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3228,7 +3270,7 @@ "id": 884, "nodeType": "ParameterList", "parameters": [], - "src": "2972:2:3" + "src": "2993:2:3" }, "payable": false, "returnParameters": { @@ -3241,7 +3283,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 888, - "src": "2996:4:3", + "src": "3017:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3252,7 +3294,7 @@ "id": 885, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2996:4:3", + "src": "3017:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3262,10 +3304,10 @@ "visibility": "internal" } ], - "src": "2995:6:3" + "src": "3016:6:3" }, "scope": 907, - "src": "2955:47:3", + "src": "2976:47:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -3284,7 +3326,7 @@ "id": 889, "nodeType": "ParameterList", "parameters": [], - "src": "3024:2:3" + "src": "3045:2:3" }, "payable": false, "returnParameters": { @@ -3297,7 +3339,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "3048:4:3", + "src": "3069:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3308,7 +3350,7 @@ "id": 890, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3048:4:3", + "src": "3069:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3318,10 +3360,10 @@ "visibility": "internal" } ], - "src": "3047:6:3" + "src": "3068:6:3" }, "scope": 907, - "src": "3007:47:3", + "src": "3028:47:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -3340,7 +3382,7 @@ "id": 894, "nodeType": "ParameterList", "parameters": [], - "src": "3080:2:3" + "src": "3101:2:3" }, "payable": false, "returnParameters": { @@ -3353,7 +3395,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 898, - "src": "3104:4:3", + "src": "3125:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3364,7 +3406,7 @@ "id": 895, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3104:4:3", + "src": "3125:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3374,10 +3416,10 @@ "visibility": "internal" } ], - "src": "3103:6:3" + "src": "3124:6:3" }, "scope": 907, - "src": "3059:51:3", + "src": "3080:51:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -3386,7 +3428,7 @@ "body": { "id": 901, "nodeType": "Block", - "src": "3148:2:3", + "src": "3169:2:3", "statements": [] }, "documentation": null, @@ -3401,17 +3443,17 @@ "id": 899, "nodeType": "ParameterList", "parameters": [], - "src": "3138:2:3" + "src": "3159:2:3" }, "payable": false, "returnParameters": { "id": 900, "nodeType": "ParameterList", "parameters": [], - "src": "3148:0:3" + "src": "3169:0:3" }, "scope": 907, - "src": "3116:34:3", + "src": "3137:34:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3420,7 +3462,7 @@ "body": { "id": 905, "nodeType": "Block", - "src": "3189:2:3", + "src": "3210:2:3", "statements": [] }, "documentation": null, @@ -3435,27 +3477,27 @@ "id": 903, "nodeType": "ParameterList", "parameters": [], - "src": "3171:2:3" + "src": "3192:2:3" }, "payable": true, "returnParameters": { "id": 904, "nodeType": "ParameterList", "parameters": [], - "src": "3189:0:3" + "src": "3210:0:3" }, "scope": 907, - "src": "3155:36:3", + "src": "3176:36:3", "stateMutability": "payable", "superFunction": null, "visibility": "public" } ], "scope": 908, - "src": "241:2952:3" + "src": "241:2973:3" } ], - "src": "0:3194:3" + "src": "0:3215:3" }, "legacyAST": { "absolutePath": "/Users/solidity/Desktop/github/wings-light-bridge/contracts/interfaces/IBridge.sol", @@ -5117,7 +5159,7 @@ "name": "completed", "nodeType": "VariableDeclaration", "scope": 907, - "src": "1994:14:3", + "src": "1994:21:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5135,7 +5177,7 @@ } }, "value": null, - "visibility": "internal" + "visibility": "public" }, { "constant": false, @@ -5143,7 +5185,7 @@ "name": "failed", "nodeType": "VariableDeclaration", "scope": 907, - "src": "2014:11:3", + "src": "2021:18:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5154,14 +5196,14 @@ "id": 798, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2014:4:3", + "src": "2021:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, - "visibility": "internal" + "visibility": "public" }, { "constant": false, @@ -5169,7 +5211,7 @@ "name": "notifiedSale", "nodeType": "VariableDeclaration", "scope": 907, - "src": "2109:17:3", + "src": "2123:24:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5180,20 +5222,20 @@ "id": 800, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2109:4:3", + "src": "2123:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, - "visibility": "internal" + "visibility": "public" }, { "body": { "id": 820, "nodeType": "Block", - "src": "2200:82:3", + "src": "2221:82:3", "statements": [ { "expression": { @@ -5217,7 +5259,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 803, - "src": "2218:11:3", + "src": "2239:11:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5238,7 +5280,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2241:1:3", + "src": "2262:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5260,7 +5302,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2233:7:3", + "src": "2254:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -5275,13 +5317,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2233:10:3", + "src": "2254:10:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2218:25:3", + "src": "2239:25:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5303,7 +5345,7 @@ 1399 ], "referencedDeclaration": 1398, - "src": "2210:7:3", + "src": "2231:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5317,7 +5359,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2210:34:3", + "src": "2231:34:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5325,7 +5367,7 @@ }, "id": 815, "nodeType": "ExpressionStatement", - "src": "2210:34:3" + "src": "2231:34:3" }, { "expression": { @@ -5342,7 +5384,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, - "src": "2254:7:3", + "src": "2275:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5357,13 +5399,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 803, - "src": "2264:11:3", + "src": "2285:11:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2254:21:3", + "src": "2275:21:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5371,7 +5413,7 @@ }, "id": 819, "nodeType": "ExpressionStatement", - "src": "2254:21:3" + "src": "2275:21:3" } ] }, @@ -5391,14 +5433,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 748, - "src": "2186:11:3", + "src": "2207:11:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2186:13:3" + "src": "2207:13:3" } ], "name": "transferManager", @@ -5413,7 +5455,7 @@ "name": "_newManager", "nodeType": "VariableDeclaration", "scope": 821, - "src": "2158:19:3", + "src": "2179:19:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5424,7 +5466,7 @@ "id": 802, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2158:7:3", + "src": "2179:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5434,17 +5476,17 @@ "visibility": "internal" } ], - "src": "2157:21:3" + "src": "2178:21:3" }, "payable": false, "returnParameters": { "id": 807, "nodeType": "ParameterList", "parameters": [], - "src": "2200:0:3" + "src": "2221:0:3" }, "scope": 907, - "src": "2133:149:3", + "src": "2154:149:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5463,7 +5505,7 @@ "id": 822, "nodeType": "ParameterList", "parameters": [], - "src": "2305:2:3" + "src": "2326:2:3" }, "payable": false, "returnParameters": { @@ -5476,7 +5518,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 826, - "src": "2329:7:3", + "src": "2350:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5487,7 +5529,7 @@ "id": 823, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2329:7:3", + "src": "2350:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5497,10 +5539,10 @@ "visibility": "internal" } ], - "src": "2328:9:3" + "src": "2349:9:3" }, "scope": 907, - "src": "2288:50:3", + "src": "2309:50:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5525,7 +5567,7 @@ "name": "_newToken", "nodeType": "VariableDeclaration", "scope": 831, - "src": "2364:17:3", + "src": "2385:17:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5536,7 +5578,7 @@ "id": 827, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2364:7:3", + "src": "2385:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5546,17 +5588,17 @@ "visibility": "internal" } ], - "src": "2363:19:3" + "src": "2384:19:3" }, "payable": false, "returnParameters": { "id": 830, "nodeType": "ParameterList", "parameters": [], - "src": "2389:0:3" + "src": "2410:0:3" }, "scope": 907, - "src": "2343:47:3", + "src": "2364:47:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5581,7 +5623,7 @@ "name": "_minimalGoal", "nodeType": "VariableDeclaration", "scope": 838, - "src": "2421:20:3", + "src": "2442:20:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5592,7 +5634,7 @@ "id": 832, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2421:7:3", + "src": "2442:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5607,7 +5649,7 @@ "name": "_hardCap", "nodeType": "VariableDeclaration", "scope": 838, - "src": "2443:16:3", + "src": "2464:16:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5618,7 +5660,7 @@ "id": 834, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2443:7:3", + "src": "2464:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5628,17 +5670,17 @@ "visibility": "internal" } ], - "src": "2420:40:3" + "src": "2441:40:3" }, "payable": false, "returnParameters": { "id": 837, "nodeType": "ParameterList", "parameters": [], - "src": "2467:0:3" + "src": "2488:0:3" }, "scope": 907, - "src": "2395:73:3", + "src": "2416:73:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5663,7 +5705,7 @@ "name": "_startTimestamp", "nodeType": "VariableDeclaration", "scope": 845, - "src": "2501:23:3", + "src": "2522:23:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5674,7 +5716,7 @@ "id": 839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2501:7:3", + "src": "2522:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5689,7 +5731,7 @@ "name": "_endTimestamp", "nodeType": "VariableDeclaration", "scope": 845, - "src": "2526:21:3", + "src": "2547:21:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5700,7 +5742,7 @@ "id": 841, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2526:7:3", + "src": "2547:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5710,17 +5752,17 @@ "visibility": "internal" } ], - "src": "2500:48:3" + "src": "2521:48:3" }, "payable": false, "returnParameters": { "id": 844, "nodeType": "ParameterList", "parameters": [], - "src": "2555:0:3" + "src": "2576:0:3" }, "scope": 907, - "src": "2473:83:3", + "src": "2494:83:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5745,7 +5787,7 @@ "name": "_amount", "nodeType": "VariableDeclaration", "scope": 854, - "src": "2581:15:3", + "src": "2602:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5756,7 +5798,7 @@ "id": 846, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2581:7:3", + "src": "2602:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5771,7 +5813,7 @@ "name": "_ethAmount", "nodeType": "VariableDeclaration", "scope": 854, - "src": "2598:18:3", + "src": "2619:18:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5782,7 +5824,7 @@ "id": 848, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2598:7:3", + "src": "2619:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5797,7 +5839,7 @@ "name": "_tokensAmount", "nodeType": "VariableDeclaration", "scope": 854, - "src": "2618:21:3", + "src": "2639:21:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5808,7 +5850,7 @@ "id": 850, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2618:7:3", + "src": "2639:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5818,17 +5860,17 @@ "visibility": "internal" } ], - "src": "2580:60:3" + "src": "2601:60:3" }, "payable": false, "returnParameters": { "id": 853, "nodeType": "ParameterList", "parameters": [], - "src": "2647:0:3" + "src": "2668:0:3" }, "scope": 907, - "src": "2561:87:3", + "src": "2582:87:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5847,7 +5889,7 @@ "id": 855, "nodeType": "ParameterList", "parameters": [], - "src": "2678:2:3" + "src": "2699:2:3" }, "payable": false, "returnParameters": { @@ -5860,7 +5902,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 861, - "src": "2702:7:3", + "src": "2723:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5871,7 +5913,7 @@ "id": 856, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2702:7:3", + "src": "2723:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5886,7 +5928,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 861, - "src": "2711:7:3", + "src": "2732:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5897,7 +5939,7 @@ "id": 858, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2711:7:3", + "src": "2732:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5907,10 +5949,10 @@ "visibility": "internal" } ], - "src": "2701:18:3" + "src": "2722:18:3" }, "scope": 907, - "src": "2653:67:3", + "src": "2674:67:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5929,17 +5971,17 @@ "id": 862, "nodeType": "ParameterList", "parameters": [], - "src": "2740:2:3" + "src": "2761:2:3" }, "payable": false, "returnParameters": { "id": 863, "nodeType": "ParameterList", "parameters": [], - "src": "2749:0:3" + "src": "2770:0:3" }, "scope": 907, - "src": "2725:25:3", + "src": "2746:25:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5964,7 +6006,7 @@ "name": "_ethAmount", "nodeType": "VariableDeclaration", "scope": 871, - "src": "2773:18:3", + "src": "2794:18:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5975,7 +6017,7 @@ "id": 865, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2773:7:3", + "src": "2794:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5990,7 +6032,7 @@ "name": "_tokenAmount", "nodeType": "VariableDeclaration", "scope": 871, - "src": "2793:20:3", + "src": "2814:20:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6001,7 +6043,7 @@ "id": 867, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2793:7:3", + "src": "2814:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6011,17 +6053,17 @@ "visibility": "internal" } ], - "src": "2772:42:3" + "src": "2793:42:3" }, "payable": false, "returnParameters": { "id": 870, "nodeType": "ParameterList", "parameters": [], - "src": "2821:0:3" + "src": "2842:0:3" }, "scope": 907, - "src": "2755:67:3", + "src": "2776:67:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6040,17 +6082,17 @@ "id": 872, "nodeType": "ParameterList", "parameters": [], - "src": "2840:2:3" + "src": "2861:2:3" }, "payable": false, "returnParameters": { "id": 873, "nodeType": "ParameterList", "parameters": [], - "src": "2849:0:3" + "src": "2870:0:3" }, "scope": 907, - "src": "2827:23:3", + "src": "2848:23:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6075,7 +6117,7 @@ "name": "_startTimestamp", "nodeType": "VariableDeclaration", "scope": 883, - "src": "2870:23:3", + "src": "2891:23:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6086,7 +6128,7 @@ "id": 875, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2870:7:3", + "src": "2891:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6101,7 +6143,7 @@ "name": "_endTimestamp", "nodeType": "VariableDeclaration", "scope": 883, - "src": "2895:21:3", + "src": "2916:21:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6112,7 +6154,7 @@ "id": 877, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2895:7:3", + "src": "2916:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6127,7 +6169,7 @@ "name": "_fundingAddress", "nodeType": "VariableDeclaration", "scope": 883, - "src": "2918:23:3", + "src": "2939:23:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6138,7 +6180,7 @@ "id": 879, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2918:7:3", + "src": "2939:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6148,17 +6190,17 @@ "visibility": "internal" } ], - "src": "2869:73:3" + "src": "2890:73:3" }, "payable": false, "returnParameters": { "id": 882, "nodeType": "ParameterList", "parameters": [], - "src": "2949:0:3" + "src": "2970:0:3" }, "scope": 907, - "src": "2855:95:3", + "src": "2876:95:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6177,7 +6219,7 @@ "id": 884, "nodeType": "ParameterList", "parameters": [], - "src": "2972:2:3" + "src": "2993:2:3" }, "payable": false, "returnParameters": { @@ -6190,7 +6232,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 888, - "src": "2996:4:3", + "src": "3017:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6201,7 +6243,7 @@ "id": 885, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2996:4:3", + "src": "3017:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6211,10 +6253,10 @@ "visibility": "internal" } ], - "src": "2995:6:3" + "src": "3016:6:3" }, "scope": 907, - "src": "2955:47:3", + "src": "2976:47:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -6233,7 +6275,7 @@ "id": 889, "nodeType": "ParameterList", "parameters": [], - "src": "3024:2:3" + "src": "3045:2:3" }, "payable": false, "returnParameters": { @@ -6246,7 +6288,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "3048:4:3", + "src": "3069:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6257,7 +6299,7 @@ "id": 890, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3048:4:3", + "src": "3069:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6267,10 +6309,10 @@ "visibility": "internal" } ], - "src": "3047:6:3" + "src": "3068:6:3" }, "scope": 907, - "src": "3007:47:3", + "src": "3028:47:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -6289,7 +6331,7 @@ "id": 894, "nodeType": "ParameterList", "parameters": [], - "src": "3080:2:3" + "src": "3101:2:3" }, "payable": false, "returnParameters": { @@ -6302,7 +6344,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 898, - "src": "3104:4:3", + "src": "3125:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6313,7 +6355,7 @@ "id": 895, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3104:4:3", + "src": "3125:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6323,10 +6365,10 @@ "visibility": "internal" } ], - "src": "3103:6:3" + "src": "3124:6:3" }, "scope": 907, - "src": "3059:51:3", + "src": "3080:51:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -6335,7 +6377,7 @@ "body": { "id": 901, "nodeType": "Block", - "src": "3148:2:3", + "src": "3169:2:3", "statements": [] }, "documentation": null, @@ -6350,17 +6392,17 @@ "id": 899, "nodeType": "ParameterList", "parameters": [], - "src": "3138:2:3" + "src": "3159:2:3" }, "payable": false, "returnParameters": { "id": 900, "nodeType": "ParameterList", "parameters": [], - "src": "3148:0:3" + "src": "3169:0:3" }, "scope": 907, - "src": "3116:34:3", + "src": "3137:34:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6369,7 +6411,7 @@ "body": { "id": 905, "nodeType": "Block", - "src": "3189:2:3", + "src": "3210:2:3", "statements": [] }, "documentation": null, @@ -6384,27 +6426,27 @@ "id": 903, "nodeType": "ParameterList", "parameters": [], - "src": "3171:2:3" + "src": "3192:2:3" }, "payable": true, "returnParameters": { "id": 904, "nodeType": "ParameterList", "parameters": [], - "src": "3189:0:3" + "src": "3210:0:3" }, "scope": 907, - "src": "3155:36:3", + "src": "3176:36:3", "stateMutability": "payable", "superFunction": null, "visibility": "public" } ], "scope": 908, - "src": "241:2952:3" + "src": "241:2973:3" } ], - "src": "0:3194:3" + "src": "0:3215:3" }, "compiler": { "name": "solc", @@ -6412,5 +6454,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.024Z" + "updatedAt": "2018-10-16T06:55:43.624Z" } \ No newline at end of file diff --git a/build/contracts/IDAO.json b/build/contracts/IDAO.json index 213998a..9acebe2 100644 --- a/build/contracts/IDAO.json +++ b/build/contracts/IDAO.json @@ -289,5 +289,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.025Z" + "updatedAt": "2018-10-16T06:55:43.626Z" } \ No newline at end of file diff --git a/build/contracts/IWingsController.json b/build/contracts/IWingsController.json index 77b7cd8..c5a9f57 100644 --- a/build/contracts/IWingsController.json +++ b/build/contracts/IWingsController.json @@ -651,5 +651,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.026Z" + "updatedAt": "2018-10-16T06:55:43.626Z" } \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index b0ec367..226f9f7 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -93,5 +93,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.024Z" + "updatedAt": "2018-10-16T06:55:43.624Z" } \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json index 114e7f1..9fdb1b9 100644 --- a/build/contracts/Ownable.json +++ b/build/contracts/Ownable.json @@ -1455,5 +1455,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.027Z" + "updatedAt": "2018-10-16T06:55:43.628Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 51a181a..16a0fe8 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -2471,5 +2471,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.027Z" + "updatedAt": "2018-10-16T06:55:43.627Z" } \ No newline at end of file diff --git a/build/contracts/TestToken.json b/build/contracts/TestToken.json index d98ba06..6983821 100644 --- a/build/contracts/TestToken.json +++ b/build/contracts/TestToken.json @@ -1291,5 +1291,5 @@ }, "networks": {}, "schemaVersion": "2.0.0", - "updatedAt": "2018-10-11T13:28:02.026Z" + "updatedAt": "2018-10-16T06:55:43.627Z" } \ No newline at end of file diff --git a/contracts/interfaces/IBridge.sol b/contracts/interfaces/IBridge.sol index 3207f77..d0e3206 100644 --- a/contracts/interfaces/IBridge.sol +++ b/contracts/interfaces/IBridge.sol @@ -81,7 +81,7 @@ contract IBridge is Ownable { uint256 public endTimestamp; // crowdsale token must be ERC20-compliant - DetailedERC20 public token; + DetailedERC20 token; // crowdsale status bool public completed; diff --git a/test/Bridge.js b/test/Bridge.js index d1fdfac..e6c564c 100644 --- a/test/Bridge.js +++ b/test/Bridge.js @@ -1,6 +1,13 @@ /** - * // TODO test description - * @type {[type]} + * Test scenario: + * - create bridge + * - set project token + * - set goal + * - set period + * - notify about collected amount + * - transfer rewards + * - check whether crowdsale reached minimal goal or not + * - finish bridge successfully */ 'use strict'; @@ -14,42 +21,28 @@ const ControllerStub = artifacts.require('ControllerStub'); const { sendETH, isRevert } = require('./helpers/utils'); contract('Bridge', (accounts) => { - let creator = accounts[0]; + const creator = accounts[0]; const rewards = { tokens: 10000, eth: 10000 }; - let totalCollected = web3.toWei(600000, 'ether'); // let's say 600000 USD - let totalCollectedETH = web3.toWei(100, 'ether'); - let totalSold = web3.toWei(1500, 'ether'); + const totalCollected = web3.toWei(600000, 'ether'); // let's say 600000 USD + const totalCollectedETH = web3.toWei(1000, 'ether'); + const totalSold = web3.toWei(100000, 'ether'); let token, controller, bridge; before(async () => { // deploy bridge - bridge = await Bridge.new( - creator, - creator, - { - from: creator - } - ); - - // controller stub just for manager - controller = await ControllerStub.new( - rewards.eth, - rewards.tokens, - { - from: creator - } - ); + bridge = await Bridge.new(creator, creator, { from: creator }); + + // deploy controller stub (it is manager of the bridge) + controller = await ControllerStub.new(rewards.eth, rewards.tokens, { from: creator }); // start crowdsale (in wings will be done in controller) - await bridge.start(0, 0, '0x0', { - from: creator - }); + await bridge.start(0, 0, '0x0', { from: creator }); }); it('deploy token', async () => { @@ -58,17 +51,14 @@ contract('Bridge', (accounts) => { }); }); - it('allow to change token', async () => { - const changeToken_event = bridge.CUSTOM_CROWDSALE_TOKEN_ADDED({}, {fromBlock: 0, toBlock: 'latest'}); - + it('change token', async () => { await bridge.changeToken(token.address, { from: creator }); - changeToken_event.get((error, events) => { - let args = events[0].args - args.token.should.be.equal(token.address) - }); + let projectToken = (await bridge.getToken.call()).toString(); + + projectToken.should.be.equal(token.address) }); it('doesn\'t allow to change token to token with incorrect decimals', async () => { @@ -85,29 +75,27 @@ contract('Bridge', (accounts) => { } }); - it('allow to set only minimal goal', async () => { + it('set only minimal goal', async () => { const minimalGoal = web3.toWei(10, 'ether').toString(10); await bridge.setCrowdsaleGoal(minimalGoal, 0, { from: creator }); let bridgeMinimalGoal = (await bridge.minimalGoal.call()).toString(10); - // console.log(`Minimal goal: ${web3.fromWei(bridgeMinimalGoal, 'ether')} ETH`); bridgeMinimalGoal.should.be.equal(minimalGoal); }); - it('allow to set only hard cap', async () => { + it('set only hard cap', async () => { const hardCap = web3.toWei(1000, 'ether').toString(10); await bridge.setCrowdsaleGoal(0, hardCap, { from: creator }); let bridgeHardCap = (await bridge.hardCap.call()).toString(10); - // console.log(`Hard cap: ${web3.fromWei(bridgeHardCap, 'ether')} ETH`); bridgeHardCap.should.be.equal(hardCap); }); - it('allow to set goals of crowdsale', async () => { + it('set goals of crowdsale', async () => { const goal = { min: web3.toWei(15, 'ether').toString(10), max: web3.toWei(1500, 'ether').toString(10) @@ -118,14 +106,11 @@ contract('Bridge', (accounts) => { const minimalGoal = (await bridge.minimalGoal.call()).toString(10); const hardCap = (await bridge.hardCap.call()).toString(10); - // console.log(`Minimal goal: ${web3.fromWei(minimalGoal, 'ether')} ETH`); - // console.log(`Hard cap: ${web3.fromWei(hardCap, 'ether')} ETH`); - minimalGoal.should.be.equal(goal.min); hardCap.should.be.equal(goal.max); }); - it('allow to set only end timestamp', async () => { + it('set only end timestamp', async () => { const now = Date.now(); const endTimestamp = Math.floor(now/1000).toString(10); @@ -133,12 +118,11 @@ contract('Bridge', (accounts) => { await bridge.setCrowdsalePeriod(0, endTimestamp, { from: creator }); let bridgeEndTimestamp = (await bridge.endTimestamp.call()).toString(10); - // console.log(`End timestamp: ${parseInt(bridgeEndTimestamp)}`); bridgeEndTimestamp.should.be.equal(endTimestamp); }); - it('allow to set time period of crowdsale', async () => { + it('set time period of crowdsale', async () => { const now = Date.now(); const timestamps = { @@ -151,17 +135,12 @@ contract('Bridge', (accounts) => { let startTimestamp = (await bridge.startTimestamp.call()).toString(10); let endTimestamp = (await bridge.endTimestamp.call()).toString(10); - // console.log(`Start timestamp: ${parseInt(startTimestamp)}`); - // console.log(`End timestamp: ${parseInt(endTimestamp)}`); - startTimestamp.should.be.equal(timestamps.start); endTimestamp.should.be.equal(timestamps.end); }); it('notify sale', async () => { - await bridge.notifySale(totalCollected, totalCollectedETH, totalSold, { - from: creator - }); + await bridge.notifySale(totalCollected, totalCollectedETH, totalSold, { from: creator }); }); it('check how notification went', async () => { @@ -222,6 +201,12 @@ contract('Bridge', (accounts) => { rewardsReady.should.be.equal(true); }); + it('crowdsale reached minimal goal', async () => { + let reached = await bridge.reachedMinGoal.call(); + + reached.should.be.equal(true); + }); + it('finish Bridge successfully', async () => { await bridge.finish({ from: creator diff --git a/test/BridgeFailed.js b/test/BridgeFailed.js index 9f6addd..c4ebd49 100644 --- a/test/BridgeFailed.js +++ b/test/BridgeFailed.js @@ -1,6 +1,11 @@ /** - * // TODO test description - * @type {[type]} + * Test scenario + * - create bridge + * - set project token + * - set only minimal goal + * - notify about collected amount + * - finish bridge unsuccessfully + * - withdraw rewards */ 'use strict'; @@ -14,42 +19,28 @@ const ControllerStub = artifacts.require('ControllerStub'); const { sendETH } = require('./helpers/utils'); contract('Bridge hasn\'t reached minimal goal', (accounts) => { - let creator = accounts[0]; + const creator = accounts[0]; const rewards = { tokens: 10000, eth: 10000 }; - let totalCollected = web3.toWei(100, 'ether'); // let's say 100 ETH - let totalCollectedETH = 0; - let totalSold = web3.toWei(1500, 'ether'); + const totalCollected = web3.toWei(600000, 'ether'); // let's say 600000 USD + const totalCollectedETH = web3.toWei(100, 'ether'); + const totalSold = web3.toWei(1500, 'ether'); let token, controller, bridge; before(async () => { // deploy bridge - bridge = await Bridge.new( - creator, - creator, - { - from: creator - } - ); - - // controller stub just for manager - controller = await ControllerStub.new( - rewards.eth, - rewards.tokens, - { - from: creator - } - ); - - // start crowdsale (called from crowdsale controller) - await bridge.start(0, 0, '0x0', { - from: creator - }); + bridge = await Bridge.new(creator, creator, { from: creator }); + + // deploy controller stub (it is manager of the bridge) + controller = await ControllerStub.new(rewards.eth, rewards.tokens, { from: creator }); + + // start crowdsale (in wings will be done in controller) + await bridge.start(0, 0, '0x0', { from: creator }); }); it('deploy token', async () => { @@ -58,17 +49,14 @@ contract('Bridge hasn\'t reached minimal goal', (accounts) => { }); }); - it('allow to change token', async () => { - const changeToken_event = bridge.CUSTOM_CROWDSALE_TOKEN_ADDED({}, {fromBlock: 0, toBlock: 'latest'}); - + it('change token', async () => { await bridge.changeToken(token.address, { from: creator }); - changeToken_event.get((error, events) => { - let args = events[0].args - args.token.should.be.equal(token.address) - }); + let projectToken = (await bridge.getToken.call()).toString(); + + projectToken.should.be.equal(token.address) }); it('set minimal goal', async () => { @@ -77,15 +65,12 @@ contract('Bridge hasn\'t reached minimal goal', (accounts) => { await bridge.setCrowdsaleGoal(minimalGoal, 0, { from: creator }); let bridgeMinimalGoal = (await bridge.minimalGoal.call()).toString(10); - // console.log(`Minimal goal: ${web3.fromWei(bridgeMinimalGoal, 'ether')} ETH`); bridgeMinimalGoal.should.be.equal(minimalGoal); }); it('notify sale with total collected less then minimal goal', async () => { - await bridge.notifySale(totalCollected, totalCollectedETH, totalSold, { - from: creator - }); + await bridge.notifySale(totalCollected, totalCollectedETH, totalSold, { from: creator }); }); it('check how notification went', async () => { @@ -160,7 +145,7 @@ contract('Bridge hasn\'t reached minimal goal', (accounts) => { ethBalance.should.be.equal(ethReward); }); - it('allow to withdraw rewards after the finish has failed', async () => { + it('withdraw rewards after bridge finished with fail', async () => { const ethReward = web3.toBigNumber(totalCollectedETH == 0 ? totalCollected : totalCollectedETH).mul(rewards.eth).div(1000000).toString(10); const tokenReward = web3.toBigNumber(totalSold).mul(rewards.tokens).div(1000000).toString(10); diff --git a/test/BridgeGoals.js b/test/BridgeGoals.js new file mode 100644 index 0000000..8a8fdd3 --- /dev/null +++ b/test/BridgeGoals.js @@ -0,0 +1,317 @@ +/** + * First test scenario (only minimal goal): + * - create bridge + * - set project token + * - set only minimal goal + * - notify about collected amount + * - transfer rewards + * - check whether crowdsale reached minimal goal or not + * - finish bridge successfully + */ + +/** + * Second test scenario (only hard cap): + * - create bridge + * - set project token + * - set only hard cap + * - notify about collected amount + * - transfer rewards + * - check whether crowdsale reached minimal goal or not + * - finish bridge successfully + */ + + 'use strict'; + + const { should } = require('chai').should(); + + const Bridge = artifacts.require('Bridge'); + const Token = artifacts.require('TestToken'); + const ControllerStub = artifacts.require('ControllerStub'); + + const { sendETH, isRevert } = require('./helpers/utils'); + + contract('Bridge with only minimal goal', (accounts) => { + const creator = accounts[0]; + + const rewards = { + tokens: 10000, + eth: 10000 + }; + + const totalCollected = web3.toWei(1000, 'ether'); + const totalCollectedETH = 0; + const totalSold = web3.toWei(1500, 'ether'); + + let token, controller, bridge; + + before(async () => { + // deploy bridge + bridge = await Bridge.new(creator, creator, { from: creator }); + + // deploy controller stub (it is manager of the bridge) + controller = await ControllerStub.new(rewards.eth, rewards.tokens, { from: creator }); + + // start crowdsale (in wings will be done in controller) + await bridge.start(0, 0, '0x0', { from: creator }); + }); + + it('deploy token', async () => { + token = await Token.new('Test Token', 'TT', 18, web3.toWei(10000, 'ether'), { + from: creator + }); + }); + + it('change token', async () => { + await bridge.changeToken(token.address, { + from: creator + }); + + let projectToken = (await bridge.getToken.call()).toString(); + + projectToken.should.be.equal(token.address) + }); + + it('set only minimal goal', async () => { + const minimalGoal = totalCollected; + + await bridge.setCrowdsaleGoal(minimalGoal, 0, { from: creator }); + + let bridgeMinimalGoal = (await bridge.minimalGoal.call()).toString(10); + + bridgeMinimalGoal.should.be.equal(minimalGoal); + }); + + it('notify sale', async () => { + await bridge.notifySale(totalCollected, totalCollectedETH, totalSold, { from: creator }); + }); + + it('check how notification went', async () => { + let notifiedTotalCollected = (await bridge.totalCollected.call()).toString(10); + let notifiedTotalCollectedETH = (await bridge.totalCollectedETH.call()).toString(10); + let notifiedTotalSold = (await bridge.totalSold.call()).toString(10); + + notifiedTotalCollected.should.be.equal(totalCollected.toString(10)); + notifiedTotalCollectedETH.should.be.equal(totalCollectedETH.toString(10)); + notifiedTotalSold.should.be.equal(totalSold.toString(10)); + }); + + it('move bridge manager to controller', async () => { + await bridge.transferManager(controller.address, { + from: creator + }); + }); + + it('doesn\'t allow to finish Bridge before rewards were sent', async () => { + try { + await bridge.finish({ + from: creator + }); + + throw new Error('Should return revert'); + } catch (e) { + isRevert(e); + } + }); + + it('transfer token and ETH rewards', async () => { + const [ethReward, tokenReward] = await bridge.calculateRewards.call(); + + // Transfer token reward + await token.transfer(bridge.address, tokenReward, { from: creator }); + + // Send ETH reward + await sendETH({ + from: creator, + to: bridge.address, + value: ethReward, + gas: 500000 + }); + }); + + it('correct total sold value in bridge', async () => { + const bgSold = await bridge.totalSold.call(); + bgSold.toString(10).should.be.equal(totalSold.toString(10)); + }); + + it('correct total collected value in bridge', async () => { + const bgCollected = await bridge.totalCollected.call(); + bgCollected.toString(10).should.be.equal(totalCollected.toString(10)); + }); + + it('check whether rewards are ready', async () => { + const rewardsReady = await bridge.rewardsAreReady.call(); + rewardsReady.should.be.equal(true); + }); + + it('crowdsale reached minimal goal', async () => { + let reached = await bridge.reachedMinGoal.call(); + + reached.should.be.equal(true); + }); + + it('finish Bridge successfully', async () => { + await bridge.finish({ + from: creator + }); + + const successful = await bridge.isSuccessful.call(); + successful.should.be.equal(true); + }); + + it('has tokens reward on contract', async () => { + const tokenReward = web3.toBigNumber(totalSold).mul(rewards.tokens).div(1000000).toString(10); + const tokenBalance = (await token.balanceOf.call(bridge.address)).toString(10); + + tokenBalance.should.be.equal(tokenReward); + }); + + it('has eth reward on contract', async () => { + const ethReward = web3.toBigNumber(totalCollectedETH == 0 ? totalCollected : totalCollectedETH).mul(rewards.eth).div(1000000).toString(10); + const ethBalance = web3.eth.getBalance(bridge.address).toString(10); + + ethBalance.should.be.equal(ethReward); + }); + }); + + contract('Bridge with only hard cap', (accounts) => { + const creator = accounts[0]; + + const rewards = { + tokens: 10000, + eth: 10000 + }; + + const totalCollected = web3.toWei(1000, 'ether'); + const totalCollectedETH = 0; + const totalSold = web3.toWei(1500, 'ether'); + + let token, controller, bridge; + + before(async () => { + // deploy bridge + bridge = await Bridge.new(creator, creator, { from: creator }); + + // deploy controller stub (it is manager of the bridge) + controller = await ControllerStub.new(rewards.eth, rewards.tokens, { from: creator }); + + // start crowdsale (in wings will be done in controller) + await bridge.start(0, 0, '0x0', { from: creator }); + }); + + it('deploy token', async () => { + token = await Token.new('Test Token', 'TT', 18, web3.toWei(10000, 'ether'), { + from: creator + }); + }); + + it('change token', async () => { + await bridge.changeToken(token.address, { + from: creator + }); + + let projectToken = (await bridge.getToken.call()).toString(); + + projectToken.should.be.equal(token.address) + }); + + it('set only minimal goal', async () => { + const hardCap = totalCollected; + + await bridge.setCrowdsaleGoal(0, hardCap, { from: creator }); + + let bridgeHardCap = (await bridge.hardCap.call()).toString(10); + + bridgeHardCap.should.be.equal(hardCap); + }); + + it('notify sale', async () => { + await bridge.notifySale(totalCollected, totalCollectedETH, totalSold, { from: creator }); + }); + + it('check how notification went', async () => { + let notifiedTotalCollected = (await bridge.totalCollected.call()).toString(10); + let notifiedTotalCollectedETH = (await bridge.totalCollectedETH.call()).toString(10); + let notifiedTotalSold = (await bridge.totalSold.call()).toString(10); + + notifiedTotalCollected.should.be.equal(totalCollected.toString(10)); + notifiedTotalCollectedETH.should.be.equal(totalCollectedETH.toString(10)); + notifiedTotalSold.should.be.equal(totalSold.toString(10)); + }); + + it('move bridge manager to controller', async () => { + await bridge.transferManager(controller.address, { + from: creator + }); + }); + + it('doesn\'t allow to finish Bridge before rewards were sent', async () => { + try { + await bridge.finish({ + from: creator + }); + + throw new Error('Should return revert'); + } catch (e) { + isRevert(e); + } + }); + + it('transfer token and ETH rewards', async () => { + const [ethReward, tokenReward] = await bridge.calculateRewards.call(); + + // Transfer token reward + await token.transfer(bridge.address, tokenReward, { from: creator }); + + // Send ETH reward + await sendETH({ + from: creator, + to: bridge.address, + value: ethReward, + gas: 500000 + }); + }); + + it('correct total sold value in bridge', async () => { + const bgSold = await bridge.totalSold.call(); + bgSold.toString(10).should.be.equal(totalSold.toString(10)); + }); + + it('correct total collected value in bridge', async () => { + const bgCollected = await bridge.totalCollected.call(); + bgCollected.toString(10).should.be.equal(totalCollected.toString(10)); + }); + + it('check whether rewards are ready', async () => { + const rewardsReady = await bridge.rewardsAreReady.call(); + rewardsReady.should.be.equal(true); + }); + + it('crowdsale reached minimal goal', async () => { + let reached = await bridge.reachedMinGoal.call(); + + reached.should.be.equal(true); + }); + + it('finish Bridge successfully', async () => { + await bridge.finish({ + from: creator + }); + + const successful = await bridge.isSuccessful.call(); + successful.should.be.equal(true); + }); + + it('has tokens reward on contract', async () => { + const tokenReward = web3.toBigNumber(totalSold).mul(rewards.tokens).div(1000000).toString(10); + const tokenBalance = (await token.balanceOf.call(bridge.address)).toString(10); + + tokenBalance.should.be.equal(tokenReward); + }); + + it('has eth reward on contract', async () => { + const ethReward = web3.toBigNumber(totalCollectedETH == 0 ? totalCollected : totalCollectedETH).mul(rewards.eth).div(1000000).toString(10); + const ethBalance = web3.eth.getBalance(bridge.address).toString(10); + + ethBalance.should.be.equal(ethReward); + }); + }); diff --git a/test/BridgeNoRewards.js b/test/BridgeNoRewards.js index b1db428..078f34c 100644 --- a/test/BridgeNoRewards.js +++ b/test/BridgeNoRewards.js @@ -1,6 +1,9 @@ /** - * // TODO test description - * @type {[type]} + * Test scenario + * - create bridge + * - notify about collected amount + * - check if rewards are ready + * - finish bridge successfully */ 'use strict'; @@ -10,49 +13,33 @@ const { should } = require('chai').should(); const Bridge = artifacts.require('Bridge'); const ControllerStub = artifacts.require('ControllerStub'); -contract('Bridge with 0% rewards', (accounts) => { - let creator = accounts[0]; +contract('Bridge with 0% rewards (no rewards)', (accounts) => { + const creator = accounts[0]; const rewards = { tokens: 0, eth: 0 }; - let totalCollected = web3.toWei(100, 'ether'); // let's say 100 ETH - let totalCollectedETH = 0; - let totalSold = 0; + const totalCollected = web3.toWei(100, 'ether'); // let's say 100 ETH + const totalCollectedETH = 0; + const totalSold = 0; let token, controller, bridge; before(async () => { // deploy bridge - bridge = await Bridge.new( - creator, - creator, - { - from: creator - } - ); - - // controller stub just for manager - controller = await ControllerStub.new( - rewards.eth, - rewards.tokens, - { - from: creator - } - ); - - // start crowdsale (called from crowdsale controller) - await bridge.start(0, 0, '0x0', { - from: creator - }); + bridge = await Bridge.new(creator, creator, { from: creator }); + + // deploy controller stub (it is manager of the bridge) + controller = await ControllerStub.new(rewards.eth, rewards.tokens, { from: creator }); + + // start crowdsale (in wings will be done in controller) + await bridge.start(0, 0, '0x0', { from: creator }); }); it('notify sale with only total collected', async () => { - await bridge.notifySale(totalCollected, totalCollectedETH, totalSold, { - from: creator - }); + await bridge.notifySale(totalCollected, totalCollectedETH, totalSold, { from: creator }); }); it('check how notification went', async () => { diff --git a/test/BridgeOnlyHardcap.js b/test/BridgeOnlyHardcap.js deleted file mode 100644 index f86dc7e..0000000 --- a/test/BridgeOnlyHardcap.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * // TODO test description - * @type {[type]} - */ - -'use strict'; - -// TODO diff --git a/test/BridgeOnlyMinGoal.js b/test/BridgeOnlyMinGoal.js deleted file mode 100644 index f86dc7e..0000000 --- a/test/BridgeOnlyMinGoal.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * // TODO test description - * @type {[type]} - */ - -'use strict'; - -// TODO From b5088787e9a9b4723374d28fbfac6cb10dd73188 Mon Sep 17 00:00:00 2001 From: Roman Frolov Date: Tue, 16 Oct 2018 10:24:17 +0300 Subject: [PATCH 3/4] comments deleted --- test/BridgeFailed.js | 2 +- test/BridgeNoRewards.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/BridgeFailed.js b/test/BridgeFailed.js index c4ebd49..9ee2ed4 100644 --- a/test/BridgeFailed.js +++ b/test/BridgeFailed.js @@ -26,7 +26,7 @@ contract('Bridge hasn\'t reached minimal goal', (accounts) => { eth: 10000 }; - const totalCollected = web3.toWei(600000, 'ether'); // let's say 600000 USD + const totalCollected = web3.toWei(600000, 'ether'); const totalCollectedETH = web3.toWei(100, 'ether'); const totalSold = web3.toWei(1500, 'ether'); diff --git a/test/BridgeNoRewards.js b/test/BridgeNoRewards.js index 078f34c..bfea02b 100644 --- a/test/BridgeNoRewards.js +++ b/test/BridgeNoRewards.js @@ -21,7 +21,7 @@ contract('Bridge with 0% rewards (no rewards)', (accounts) => { eth: 0 }; - const totalCollected = web3.toWei(100, 'ether'); // let's say 100 ETH + const totalCollected = web3.toWei(100, 'ether'); const totalCollectedETH = 0; const totalSold = 0; From 713fb2b7fb850e27629576f5808927abd52eb089 Mon Sep 17 00:00:00 2001 From: Roman Frolov Date: Tue, 16 Oct 2018 10:25:46 +0300 Subject: [PATCH 4/4] incremented patch version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 02cfe43..ea6aea0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wings-light-bridge", - "version": "1.2.3", + "version": "1.2.4", "description": "Wings easy integration.", "main": "truffle.js", "directories": {