{ "contractName": "PresaleOracles", "abi": [ { "constant": true, "inputs": [], "name": "endTime", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "cap", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "isInitialized", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "claimOwnership", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "Presale", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_investors", "type": "address[]" } ], "name": "whitelistInvestors", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "investorsLength", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_amount", "type": "uint256" } ], "name": "isValidPurchase", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "startTime", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "minimumContribution", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "buy", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "investorBalances", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newInvestor", "type": "address" } ], "name": "whitelistInvestor", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_startTime", "type": "uint256" }, { "name": "_endTime", "type": "uint256" }, { "name": "_cap", "type": "uint256" }, { "name": "_minimumContribution", "type": "uint256" }, { "name": "_vault", "type": "address" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_token", "type": "address" } ], "name": "claimTokens", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "pendingOwner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "totalInvestedInWei", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_investor", "type": "address" } ], "name": "vault", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "payable": false, "stateMutability": "nonpayable", "type": "function", "constant": false, "inputs": [ { "name": "_investor", "type": "address" } ], "name": "blacklistInvestor", "outputs": [] }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "fallback", "payable": true, "stateMutability": "payable" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "investor", "type": "address" }, { "indexed": false, "name": "investorAmount", "type": "uint256" }, { "indexed": false, "name": "investorTotal", "type": "uint256" }, { "indexed": false, "name": "totalAmount", "type": "uint256" } ], "name": "Contribution", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" } ], "bytecode": "0x60606040526000600a60146101000a81548160ff021916908315150217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113ea8061006e6000396000f300606060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633197cbb614610132578063355274ea1461015b578063392e53cd146101845780634e71e0c8146101b15780635036d610146101c65780635613680a146101db578063594337a91461020957806361e214d81461023257806378e979251461026d5780638da5cb5b14610296578063937e09b1146102eb5780639b19251a14610314578063a6f2ae3a14610365578063b29a61c11461036f578063c430bcda146103bc578063ccd65296146103f5578063df8de3e714610452578063e30c39781461048b578063f117c924146104e0578063f2fde38b14610509578063fbfa77cf14610542578063ffc1b03814610597575b6101306105d0565b005b341561013d57600080fd5b610145610791565b6040518082815260200191505060405180910390f35b341561016657600080fd5b61016e610797565b6040518082815260200191505060405180910390f35b341561018f57600080fd5b61019761079d565b604051808215151515815260200191505060405180910390f35b34156101bc57600080fd5b6101c46107b0565b005b34156101d157600080fd5b6101d961094f565b005b34156101e657600080fd5b61020760048080359060200190820180359060200191909192905050610951565b005b341561021457600080fd5b61021c610ad6565b6040518082815260200191505060405180910390f35b341561023d57600080fd5b6102536004808035906020019091905050610adc565b604051808215151515815260200191505060405180910390f35b341561027857600080fd5b610280610b7a565b6040518082815260200191505060405180910390f35b34156102a157600080fd5b6102a9610b80565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102f657600080fd5b6102fe610ba5565b6040518082815260200191505060405180910390f35b341561031f57600080fd5b61034b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bab565b604051808215151515815260200191505060405180910390f35b61036d6105d0565b005b341561037a57600080fd5b6103a6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bcb565b6040518082815260200191505060405180910390f35b34156103c757600080fd5b6103f3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b005b341561040057600080fd5b610450600480803590602001909190803590602001909190803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cff565b005b341561045d57600080fd5b610489600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e77565b005b341561049657600080fd5b61049e611122565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104eb57600080fd5b6104f3611148565b6040518082815260200191505060405180910390f35b341561051457600080fd5b610540600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061114e565b005b341561054d57600080fd5b6105556111ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105a257600080fd5b6105ce600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611213565b005b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561062a57600080fd5b61063334610adc565b151561063e57600080fd5b600a60149054906101000a900460ff16151561065957600080fd5b600254610664611333565b1015801561067b5750600354610678611333565b11155b151561068657600080fd5b33905034600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550346005600082825401925050819055506106ef3461133b565b3373ffffffffffffffffffffffffffffffffffffffff167f460eb5f4fd2327fac159ebd2dfcf744a60eed1a83dd95367e1811f166396748e34600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055460405180848152602001838152602001828152602001935050505060405180910390a250565b60035481565b60045481565b600a60149054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109af57600080fd5b60fa84849050111515156109c257600080fd5b600091505b838390508260ff161015610ad05783838360ff1681811015156109e657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff169050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610ac3576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b81806001019250506109c7565b50505050565b60095481565b600080600080600085119250600654610b3d86600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a090919063ffffffff16565b10159150600454610b59866005546113a090919063ffffffff16565b11159050818015610b675750805b8015610b705750825b9350505050919050565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3e57600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610cfc576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5a57600080fd5b600a60149054906101000a900460ff16151515610d7657600080fd5b60008514151515610d8657600080fd5b60008414151515610d9657600080fd5b8484111515610da457600080fd5b60008314151515610db457600080fd5b60008214151515610dc457600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610dea57600080fd5b8183111515610df857600080fd5b8460028190555083600381905550826004819055506001600a60146101000a81548160ff0219169083151502179055508160068190555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415610f71576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515610f6c57600080fd5b61111d565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561101757600080fd5b6102c65a03f1151561102857600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561110057600080fd5b6102c65a03f1151561111157600080fd5b50505060405180519050505b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111a957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126e57600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561133057600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600060095414151561132f57600960008154809291906001900391905055505b5b50565b600042905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561139d57600080fd5b50565b60008082840190508381101515156113b457fe5b80915050929150505600a165627a7a7230582091b2492dfa1daa588032e8857f4fc80acbd84ca307e27de34793cdc6fa85706f0029", "deployedBytecode": "0x606060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633197cbb614610132578063355274ea1461015b578063392e53cd146101845780634e71e0c8146101b15780635036d610146101c65780635613680a146101db578063594337a91461020957806361e214d81461023257806378e979251461026d5780638da5cb5b14610296578063937e09b1146102eb5780639b19251a14610314578063a6f2ae3a14610365578063b29a61c11461036f578063c430bcda146103bc578063ccd65296146103f5578063df8de3e714610452578063e30c39781461048b578063f117c924146104e0578063f2fde38b14610509578063fbfa77cf14610542578063ffc1b03814610597575b6101306105d0565b005b341561013d57600080fd5b610145610791565b6040518082815260200191505060405180910390f35b341561016657600080fd5b61016e610797565b6040518082815260200191505060405180910390f35b341561018f57600080fd5b61019761079d565b604051808215151515815260200191505060405180910390f35b34156101bc57600080fd5b6101c46107b0565b005b34156101d157600080fd5b6101d961094f565b005b34156101e657600080fd5b61020760048080359060200190820180359060200191909192905050610951565b005b341561021457600080fd5b61021c610ad6565b6040518082815260200191505060405180910390f35b341561023d57600080fd5b6102536004808035906020019091905050610adc565b604051808215151515815260200191505060405180910390f35b341561027857600080fd5b610280610b7a565b6040518082815260200191505060405180910390f35b34156102a157600080fd5b6102a9610b80565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102f657600080fd5b6102fe610ba5565b6040518082815260200191505060405180910390f35b341561031f57600080fd5b61034b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bab565b604051808215151515815260200191505060405180910390f35b61036d6105d0565b005b341561037a57600080fd5b6103a6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bcb565b6040518082815260200191505060405180910390f35b34156103c757600080fd5b6103f3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b005b341561040057600080fd5b610450600480803590602001909190803590602001909190803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cff565b005b341561045d57600080fd5b610489600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e77565b005b341561049657600080fd5b61049e611122565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104eb57600080fd5b6104f3611148565b6040518082815260200191505060405180910390f35b341561051457600080fd5b610540600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061114e565b005b341561054d57600080fd5b6105556111ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105a257600080fd5b6105ce600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611213565b005b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561062a57600080fd5b61063334610adc565b151561063e57600080fd5b600a60149054906101000a900460ff16151561065957600080fd5b600254610664611333565b1015801561067b5750600354610678611333565b11155b151561068657600080fd5b33905034600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550346005600082825401925050819055506106ef3461133b565b3373ffffffffffffffffffffffffffffffffffffffff167f460eb5f4fd2327fac159ebd2dfcf744a60eed1a83dd95367e1811f166396748e34600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055460405180848152602001838152602001828152602001935050505060405180910390a250565b60035481565b60045481565b600a60149054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109af57600080fd5b60fa84849050111515156109c257600080fd5b600091505b838390508260ff161015610ad05783838360ff1681811015156109e657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff169050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610ac3576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b81806001019250506109c7565b50505050565b60095481565b600080600080600085119250600654610b3d86600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a090919063ffffffff16565b10159150600454610b59866005546113a090919063ffffffff16565b11159050818015610b675750805b8015610b705750825b9350505050919050565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3e57600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610cfc576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5a57600080fd5b600a60149054906101000a900460ff16151515610d7657600080fd5b60008514151515610d8657600080fd5b60008414151515610d9657600080fd5b8484111515610da457600080fd5b60008314151515610db457600080fd5b60008214151515610dc457600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610dea57600080fd5b8183111515610df857600080fd5b8460028190555083600381905550826004819055506001600a60146101000a81548160ff0219169083151502179055508160068190555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415610f71576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515610f6c57600080fd5b61111d565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561101757600080fd5b6102c65a03f1151561102857600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561110057600080fd5b6102c65a03f1151561111157600080fd5b50505060405180519050505b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111a957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126e57600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561133057600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600060095414151561132f57600960008154809291906001900391905055505b5b50565b600042905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561139d57600080fd5b50565b60008082840190508381101515156113b457fe5b80915050929150505600a165627a7a7230582091b2492dfa1daa588032e8857f4fc80acbd84ca307e27de34793cdc6fa85706f0029", "sourceMap": "204:3745:0:-;;;730:5;702:33;;;;;;;;;;;;;;;;;;;;502:10:3;494:5;;:18;;;;;;;;;;;;;;;;;;204:3745:0;;;;;;", "deployedSourceMap": "204:3745:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;807:5;:3;:5::i;:::-;204:3745;405:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;433:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;702:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;781:152:2;;;;;;;;;;;;;;852:33:0;;;;;;;;;;;;;;3332:366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;640:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2738:331;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;375:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;496:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;593:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:474;;;;;;536:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3102:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;918:617;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2319:303;;;;;;;;;;;;;;;;;;;;;;;;;;;;253:27:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;457:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;601:96:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;676:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3703:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:474;1908:16;1734:9;:21;1744:10;1734:21;;;;;;;;;;;;;;;;;;;;;;;;;1726:30;;;;;;;;1774:26;1790:9;1774:15;:26::i;:::-;1766:35;;;;;;;;1819:13;;;;;;;;;;;1811:22;;;;;;;;1864:9;;1851;:7;:9::i;:::-;:22;;:46;;;;;1890:7;;1877:9;:7;:9::i;:::-;:20;;1851:46;1843:55;;;;;;;;1927:10;1908:29;;1977:9;1947:16;:26;1964:8;1947:26;;;;;;;;;;;;;;;;:39;;;;;;;;;;;2018:9;1996:18;;:31;;;;;;;;;;;2037:23;2050:9;2037:12;:23::i;:::-;2083:10;2070:83;;;2095:9;2106:16;:26;2123:8;2106:26;;;;;;;;;;;;;;;;2134:18;;2070:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:474;:::o;405:22::-;;;;:::o;433:18::-;;;;:::o;702:33::-;;;;;;;;;;;;;:::o;781:152:2:-;433:12;;;;;;;;;;;419:26;;:10;:26;;;411:35;;;;;;;;865:12;;;;;;;;;;;837:41;;858:5;;;;;;;;;;;837:41;;;;;;;;;;;;892:12;;;;;;;;;;;884:5;;:20;;;;;;;;;;;;;;;;;;925:3;910:12;;:18;;;;;;;;;;;;;;;;;;781:152::o;852:33:0:-;:::o;3332:366::-;3458:7;3508:19;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;3440:3:0;3419:10;;:17;;:24;;3411:33;;;;;;;;3466:1;3458:9;;3454:238;3471:10;;:17;;3469:1;:19;;;3454:238;;;3530:10;;3541:1;3530:13;;;;;;;;;;;;;;;;;;;3508:35;;3561:9;:22;3571:11;3561:22;;;;;;;;;;;;;;;;;;;;;;;;;3560:23;3557:125;;;3628:4;3603:9;:22;3613:11;3603:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3650:15;;:17;;;;;;;;;;;;;3557:125;3489:3;;;;;;;3454:238;;;3332:366;;;;:::o;640:30::-;;;;:::o;2738:331::-;2800:4;2816:12;2852:21;2950:14;2841:1;2831:7;:11;2816:26;;2921:19;;2876:41;2909:7;2876:16;:28;2893:10;2876:28;;;;;;;;;;;;;;;;:32;;:41;;;;:::i;:::-;:64;;2852:88;;3002:3;;2967:31;2990:7;2967:18;;:22;;:31;;;;:::i;:::-;:38;;2950:55;;3022:16;:29;;;;;3042:9;3022:29;:40;;;;;3055:7;3022:40;3015:47;;2738:331;;;;;;:::o;375:24::-;;;;:::o;238:20:3:-;;;;;;;;;;;;;:::o;496:34:0:-;;;;:::o;593:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;536:51::-;;;;;;;;;;;;;;;;;:::o;3102:197::-;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;3182:9:0;:23;3192:12;3182:23;;;;;;;;;;;;;;;;;;;;;;;;;3181:24;3178:115;;;3247:4;3221:9;:23;3231:12;3221:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;3265:15;;:17;;;;;;;;;;;;;3178:115;3102:197;:::o;918:617::-;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1072:13:0;;;;;;;;;;;1071:14;1063:23;;;;;;;;1118:1;1104:10;:15;;1096:24;;;;;;;;1150:1;1138:8;:13;;1130:22;;;;;;;;1181:10;1170:8;:21;1162:30;;;;;;;;1218:1;1210:4;:9;;1202:18;;;;;;;;1262:1;1238:20;:25;;1230:34;;;;;;;;1292:3;1282:6;:13;;;;1274:22;;;;;;;;1321:20;1314:4;:27;1306:36;;;;;;;;1364:10;1352:9;:22;;;;1394:8;1384:7;:18;;;;1418:4;1412:3;:10;;;;1448:4;1432:13;;:20;;;;;;;;;;;;;;;;;;1484;1462:19;:42;;;;1522:6;1514:5;;:14;;;;;;;;;;;;;;;;;;918:617;;;;;:::o;2319:303::-;2489:16;2536:15;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;2397:3:0;2387:6;:13;;;2383:92;;;2416:5;;;;;;;;;;;:14;;:28;2431:4;:12;;;2416:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2458:7;;2383:92;2519:6;2489:37;;2554:5;:15;;;2570:4;2554:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2536:39;;2585:5;:14;;;2600:5;;;;;;;;;;;2607:7;2585:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;659:1:3;2319:303:0;;;:::o;253:27:2:-;;;;;;;;;;;;;:::o;457:33:0:-;;;;:::o;601:96:2:-;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;684:8:2;669:12;;:23;;;;;;;;;;;;;;;;;;601:96;:::o;676:20:0:-;;;;;;;;;;;;;:::o;3703:244::-;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;3779:9:0;:20;3789:9;3779:20;;;;;;;;;;;;;;;;;;;;;;;;;3776:165;;;3822:9;:20;3832:9;3822:20;;;;;;;;;;;;;;;;3815:27;;;;;;;;;;;3878:1;3859:15;;:20;;3856:75;;;3899:15;;:17;;;;;;;;;;;;;;3856:75;3776:165;3703:244;:::o;2628:77::-;2669:7;2695:3;2688:10;;2628:77;:::o;2198:88::-;2256:5;;;;;;;;;;;:14;;:23;2271:7;2256:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2198:88;:::o;680:133:1:-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o", "source": "import \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20Basic.sol\";\nimport \"zeppelin-solidity/contracts/ownership/Claimable.sol\";\n\npragma solidity ^0.4.18;\n\ncontract PresaleOracles is Claimable {\n/*\n * PresaleOracles\n * Simple Presale contract\n * built by github.com/rstormsf Roman Storm\n */\n using SafeMath for uint256;\n uint256 public startTime;\n uint256 public endTime;\n uint256 public cap;\n uint256 public totalInvestedInWei;\n uint256 public minimumContribution;\n mapping(address => uint256) public investorBalances;\n mapping(address => bool) public whitelist;\n uint256 public investorsLength;\n address public vault;\n bool public isInitialized = false;\n // TESTED by Roman Storm\n function () public payable {\n buy();\n }\n //TESTED by Roman Storm\n function Presale() public {\n }\n //TESTED by Roman Storm\n function initialize(uint256 _startTime, uint256 _endTime, uint256 _cap, uint256 _minimumContribution, address _vault) public onlyOwner {\n require(!isInitialized);\n require(_startTime != 0);\n require(_endTime != 0);\n require(_endTime > _startTime);\n require(_cap != 0);\n require(_minimumContribution != 0);\n require(_vault != 0x0);\n require(_cap > _minimumContribution);\n startTime = _startTime;\n endTime = _endTime;\n cap = _cap;\n isInitialized = true;\n minimumContribution = _minimumContribution;\n vault = _vault;\n }\n //TESTED by Roman Storm\n event Contribution(address indexed investor, uint256 investorAmount, uint256 investorTotal, uint256 totalAmount);\n function buy() public payable {\n require(whitelist[msg.sender]);\n require(isValidPurchase(msg.value));\n require(isInitialized);\n require(getTime() >= startTime && getTime() <= endTime);\n address investor = msg.sender;\n investorBalances[investor] += msg.value;\n totalInvestedInWei += msg.value;\n forwardFunds(msg.value);\n Contribution(msg.sender, msg.value, investorBalances[investor], totalInvestedInWei);\n }\n \n //TESTED by Roman Storm\n function forwardFunds(uint256 _amount) internal {\n vault.transfer(_amount);\n }\n //TESTED by Roman Storm\n function claimTokens(address _token) public onlyOwner {\n if (_token == 0x0) {\n owner.transfer(this.balance);\n return;\n }\n \n ERC20Basic token = ERC20Basic(_token);\n uint256 balance = token.balanceOf(this);\n token.transfer(owner, balance);\n }\n\n function getTime() internal view returns(uint256) {\n return now;\n }\n //TESTED by Roman Storm\n function isValidPurchase(uint256 _amount) public view returns(bool) {\n bool nonZero = _amount > 0;\n bool hasMinimumAmount = investorBalances[msg.sender].add(_amount) >= minimumContribution;\n bool withinCap = totalInvestedInWei.add(_amount) <= cap;\n return hasMinimumAmount && withinCap && nonZero;\n }\n //TESTED by Roman Storm\n function whitelistInvestor(address _newInvestor) public onlyOwner {\n if(!whitelist[_newInvestor]) {\n whitelist[_newInvestor] = true;\n investorsLength++;\n }\n }\n //TESTED by Roman Storm\n function whitelistInvestors(address[] _investors) external onlyOwner {\n require(_investors.length <= 250);\n for(uint8 i=0; i<_investors.length;i++) {\n address newInvestor = _investors[i];\n if(!whitelist[newInvestor]) {\n whitelist[newInvestor] = true;\n investorsLength++;\n }\n }\n }\n function blacklistInvestor(address _investor) public onlyOwner {\n if(whitelist[_investor]) {\n delete whitelist[_investor];\n if(investorsLength != 0) {\n investorsLength--;\n }\n }\n }\n}", "sourcePath": "/Users/rstorm/repos/presale-oracles/contracts/PresaleOracles.sol", "ast": { "attributes": { "absolutePath": "/Users/rstorm/repos/presale-oracles/contracts/PresaleOracles.sol", "exportedSymbols": { "PresaleOracles": [ 411 ] } }, "children": [ { "attributes": { "SourceUnit": 507, "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", "file": "zeppelin-solidity/contracts/math/SafeMath.sol", "scope": 412, "symbolAliases": [ null ], "unitAlias": "" }, "id": 1, "name": "ImportDirective", "src": "0:55:0" }, { "attributes": { "SourceUnit": 642, "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", "file": "zeppelin-solidity/contracts/token/ERC20Basic.sol", "scope": 412, "symbolAliases": [ null ], "unitAlias": "" }, "id": 2, "name": "ImportDirective", "src": "56:58:0" }, { "attributes": { "SourceUnit": 557, "absolutePath": "zeppelin-solidity/contracts/ownership/Claimable.sol", "file": "zeppelin-solidity/contracts/ownership/Claimable.sol", "scope": 412, "symbolAliases": [ null ], "unitAlias": "" }, "id": 3, "name": "ImportDirective", "src": "115:61:0" }, { "attributes": { "literals": [ "solidity", "^", "0.4", ".18" ] }, "id": 4, "name": "PragmaDirective", "src": "178:24:0" }, { "attributes": { "contractDependencies": [ 556, 612 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ 411, 556, 612 ], "name": "PresaleOracles", "scope": 412 }, "children": [ { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "contractScope": null, "name": "Claimable", "referencedDeclaration": 556, "type": "contract Claimable" }, "id": 5, "name": "UserDefinedTypeName", "src": "231:9:0" } ], "id": 6, "name": "InheritanceSpecifier", "src": "231:9:0" }, { "children": [ { "attributes": { "contractScope": null, "name": "SafeMath", "referencedDeclaration": 506, "type": "library SafeMath" }, "id": 7, "name": "UserDefinedTypeName", "src": "349:8:0" }, { "attributes": { "name": "uint256", "type": "uint256" }, "id": 8, "name": "ElementaryTypeName", "src": "362:7:0" } ], "id": 9, "name": "UsingForDirective", "src": "343:27:0" }, { "attributes": { "constant": false, "name": "startTime", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 10, "name": "ElementaryTypeName", "src": "375:7:0" } ], "id": 11, "name": "VariableDeclaration", "src": "375:24:0" }, { "attributes": { "constant": false, "name": "endTime", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 12, "name": "ElementaryTypeName", "src": "405:7:0" } ], "id": 13, "name": "VariableDeclaration", "src": "405:22:0" }, { "attributes": { "constant": false, "name": "cap", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 14, "name": "ElementaryTypeName", "src": "433:7:0" } ], "id": 15, "name": "VariableDeclaration", "src": "433:18:0" }, { "attributes": { "constant": false, "name": "totalInvestedInWei", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 16, "name": "ElementaryTypeName", "src": "457:7:0" } ], "id": 17, "name": "VariableDeclaration", "src": "457:33:0" }, { "attributes": { "constant": false, "name": "minimumContribution", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 18, "name": "ElementaryTypeName", "src": "496:7:0" } ], "id": 19, "name": "VariableDeclaration", "src": "496:34:0" }, { "attributes": { "constant": false, "name": "investorBalances", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "mapping(address => uint256)", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "mapping(address => uint256)" }, "id": 22, "name": "Mapping", "src": "536:27:0", "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 20, "name": "ElementaryTypeName", "src": "544:7:0" }, { "attributes": { "name": "uint256", "type": "uint256" }, "id": 21, "name": "ElementaryTypeName", "src": "555:7:0" } ] } ], "id": 23, "name": "VariableDeclaration", "src": "536:51:0" }, { "attributes": { "constant": false, "name": "whitelist", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "mapping(address => bool)", "value": null, "visibility": "public" }, "children": [ { "attributes": { "type": "mapping(address => bool)" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 24, "name": "ElementaryTypeName", "src": "601:7:0" }, { "attributes": { "name": "bool", "type": "bool" }, "id": 25, "name": "ElementaryTypeName", "src": "612:4:0" } ], "id": 26, "name": "Mapping", "src": "593:24:0" } ], "id": 27, "name": "VariableDeclaration", "src": "593:41:0" }, { "attributes": { "constant": false, "name": "investorsLength", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "type": "uint256", "name": "uint256" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 83, "name": "ElementaryTypeName", "src": "622:7:1" }, { "attributes": { "name": "bool", "type": "bool" }, "id": 84, "name": "ElementaryTypeName", "src": "633:4:1" } ], "id": 28, "name": "ElementaryTypeName", "src": "640:7:0" } ], "id": 29, "name": "VariableDeclaration", "src": "640:30:0" }, { "attributes": { "constant": false, "name": "vault", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "address", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 30, "name": "ElementaryTypeName", "src": "676:7:0" } ], "id": 31, "name": "VariableDeclaration", "src": "676:20:0" }, { "attributes": { "constant": false, "name": "isInitialized", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "bool", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "bool", "type": "bool" }, "id": 32, "name": "ElementaryTypeName", "src": "702:4:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "66616c7365", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "false" }, "id": 33, "name": "Literal", "src": "730:5:0" } ], "id": 34, "name": "VariableDeclaration", "src": "702:33:0" }, { "attributes": { "constant": false, "name": "", "scope": 411, "stateVariable": true, "storageLocation": "default", "type": "bool", "visibility": "public", "implemented": true, "isConstructor": false, "modifiers": [ null ], "payable": true, "stateMutability": "payable", "superFunction": null }, "children": [ { "attributes": { "name": "bool", "type": "bool", "parameters": [ null ] }, "id": 35, "name": "ParameterList", "src": "779:2:0", "children": [] }, { "attributes": { "argumentTypes": null, "hexvalue": "66616c7365", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "false", "parameters": [ null ] }, "id": 36, "name": "ParameterList", "src": "797:0:0", "children": [] }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "arguments": [ null ], "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ null ], "overloadedDeclarations": [ null ], "referencedDeclaration": 209, "type": "function ()", "value": "buy" }, "id": 37, "name": "Identifier", "src": "807:3:0" } ], "id": 38, "name": "FunctionCall", "src": "807:5:0" } ], "id": 39, "name": "ExpressionStatement", "src": "807:5:0" } ], "id": 40, "name": "Block", "src": "797:22:0" } ], "id": 41, "name": "FunctionDefinition", "src": "770:49:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "Presale", "payable": false, "scope": 411, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "attributes": { "parameters": [ null ] }, "children": [], "id": 42, "name": "ParameterList", "src": "868:2:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 43, "name": "ParameterList", "src": "878:0:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "arguments": [ null ], "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ null ], "overloadedDeclarations": [ null ], "referencedDeclaration": 247, "type": "function ()", "value": "buy" }, "id": 96, "name": "Identifier", "src": "828:3:1" } ], "id": 97, "name": "FunctionCall", "src": "828:5:1" } ], "id": 98, "name": "ExpressionStatement", "src": "828:5:1" } ], "id": 44, "name": "Block", "src": "878:7:0", "attributes": { "statements": [ null ] } } ], "id": 45, "name": "FunctionDefinition", "src": "852:33:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "initialize", "payable": false, "scope": 411, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "attributes": { "parameters": [ null ] }, "children": [ { "attributes": { "constant": false, "name": "_startTime", "scope": 132, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 46, "name": "ElementaryTypeName", "src": "938:7:0" } ], "id": 47, "name": "VariableDeclaration", "src": "938:18:0" }, { "attributes": { "constant": false, "name": "_endTime", "scope": 132, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 48, "name": "ElementaryTypeName", "src": "958:7:0" } ], "id": 49, "name": "VariableDeclaration", "src": "958:16:0" }, { "attributes": { "constant": false, "name": "_cap", "scope": 132, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 50, "name": "ElementaryTypeName", "src": "976:7:0" } ], "id": 51, "name": "VariableDeclaration", "src": "976:12:0" }, { "attributes": { "constant": false, "name": "_minimumContribution", "scope": 132, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 52, "name": "ElementaryTypeName", "src": "990:7:0" } ], "id": 53, "name": "VariableDeclaration", "src": "990:28:0" }, { "attributes": { "constant": false, "name": "_vault", "scope": 132, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 54, "name": "ElementaryTypeName", "src": "1020:7:0" } ], "id": 55, "name": "VariableDeclaration", "src": "1020:14:0" } ], "id": 56, "name": "ParameterList", "src": "937:98:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 59, "name": "ParameterList", "src": "1053:0:0" }, { "attributes": { "statements": [ null ], "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 586, "type": "modifier ()", "value": "onlyOwner" }, "id": 57, "name": "Identifier", "src": "1043:9:0" } ], "id": 58, "name": "ModifierInvocation", "src": "1043:9:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 60, "name": "Identifier", "src": "1063:7:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!", "prefix": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 34, "type": "bool", "value": "isInitialized" }, "id": 61, "name": "Identifier", "src": "1072:13:0" } ], "id": 62, "name": "UnaryOperation", "src": "1071:14:0" } ], "id": 63, "name": "FunctionCall", "src": "1063:23:0" } ], "id": 64, "name": "ExpressionStatement", "src": "1063:23:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 65, "name": "Identifier", "src": "1096:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 47, "type": "uint256", "value": "_startTime" }, "id": 66, "name": "Identifier", "src": "1104:10:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 67, "name": "Literal", "src": "1118:1:0" } ], "id": 68, "name": "BinaryOperation", "src": "1104:15:0" } ], "id": 69, "name": "FunctionCall", "src": "1096:24:0" } ], "id": 70, "name": "ExpressionStatement", "src": "1096:24:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 71, "name": "Identifier", "src": "1130:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 49, "type": "uint256", "value": "_endTime" }, "id": 72, "name": "Identifier", "src": "1138:8:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 73, "name": "Literal", "src": "1150:1:0" } ], "id": 74, "name": "BinaryOperation", "src": "1138:13:0" } ], "id": 75, "name": "FunctionCall", "src": "1130:22:0" } ], "id": 76, "name": "ExpressionStatement", "src": "1130:22:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 77, "name": "Identifier", "src": "1162:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": ">", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 49, "type": "uint256", "value": "_endTime" }, "id": 78, "name": "Identifier", "src": "1170:8:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 47, "type": "uint256", "value": "_startTime" }, "id": 79, "name": "Identifier", "src": "1181:10:0" } ], "id": 80, "name": "BinaryOperation", "src": "1170:21:0" } ], "id": 81, "name": "FunctionCall", "src": "1162:30:0" } ], "id": 82, "name": "ExpressionStatement", "src": "1162:30:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 83, "name": "Identifier", "src": "1202:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 51, "type": "uint256", "value": "_cap" }, "id": 84, "name": "Identifier", "src": "1210:4:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 85, "name": "Literal", "src": "1218:1:0" } ], "id": 86, "name": "BinaryOperation", "src": "1210:9:0" } ], "id": 87, "name": "FunctionCall", "src": "1202:18:0" } ], "id": 88, "name": "ExpressionStatement", "src": "1202:18:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 89, "name": "Identifier", "src": "1230:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 53, "type": "uint256", "value": "_minimumContribution" }, "id": 90, "name": "Identifier", "src": "1238:20:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 91, "name": "Literal", "src": "1262:1:0" } ], "id": 92, "name": "BinaryOperation", "src": "1238:25:0" } ], "id": 93, "name": "FunctionCall", "src": "1230:34:0" } ], "id": 94, "name": "ExpressionStatement", "src": "1230:34:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 95, "name": "Identifier", "src": "1274:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 55, "type": "address", "value": "_vault" }, "id": 96, "name": "Identifier", "src": "1282:6:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "307830", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0x0" }, "id": 97, "name": "Literal", "src": "1292:3:0" } ], "id": 98, "name": "BinaryOperation", "src": "1282:13:0" } ], "id": 99, "name": "FunctionCall", "src": "1274:22:0" } ], "id": 100, "name": "ExpressionStatement", "src": "1274:22:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 101, "name": "Identifier", "src": "1306:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": ">", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 51, "type": "uint256", "value": "_cap" }, "id": 102, "name": "Identifier", "src": "1314:4:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 53, "type": "uint256", "value": "_minimumContribution" }, "id": 103, "name": "Identifier", "src": "1321:20:0" } ], "id": 104, "name": "BinaryOperation", "src": "1314:27:0" } ], "id": 105, "name": "FunctionCall", "src": "1306:36:0" } ], "id": 106, "name": "ExpressionStatement", "src": "1306:36:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 11, "type": "uint256", "value": "startTime" }, "id": 107, "name": "Identifier", "src": "1352:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 47, "type": "uint256", "value": "_startTime" }, "id": 108, "name": "Identifier", "src": "1364:10:0" } ], "id": 109, "name": "Assignment", "src": "1352:22:0" } ], "id": 110, "name": "ExpressionStatement", "src": "1352:22:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 13, "type": "uint256", "value": "endTime" }, "id": 111, "name": "Identifier", "src": "1384:7:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 49, "type": "uint256", "value": "_endTime" }, "id": 112, "name": "Identifier", "src": "1394:8:0" } ], "id": 113, "name": "Assignment", "src": "1384:18:0" } ], "id": 114, "name": "ExpressionStatement", "src": "1384:18:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 15, "type": "uint256", "value": "cap" }, "id": 115, "name": "Identifier", "src": "1412:3:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 51, "type": "uint256", "value": "_cap" }, "id": 116, "name": "Identifier", "src": "1418:4:0" } ], "id": 117, "name": "Assignment", "src": "1412:10:0" } ], "id": 118, "name": "ExpressionStatement", "src": "1412:10:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 34, "type": "bool", "value": "isInitialized" }, "id": 119, "name": "Identifier", "src": "1432:13:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "74727565", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "true" }, "id": 120, "name": "Literal", "src": "1448:4:0" } ], "id": 121, "name": "Assignment", "src": "1432:20:0" } ], "id": 122, "name": "ExpressionStatement", "src": "1432:20:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 19, "type": "uint256", "value": "minimumContribution" }, "id": 123, "name": "Identifier", "src": "1462:19:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 53, "type": "uint256", "value": "_minimumContribution" }, "id": 124, "name": "Identifier", "src": "1484:20:0" } ], "id": 125, "name": "Assignment", "src": "1462:42:0" } ], "id": 126, "name": "ExpressionStatement", "src": "1462:42:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 31, "type": "address", "value": "vault" }, "id": 127, "name": "Identifier", "src": "1514:5:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 55, "type": "address", "value": "_vault" }, "id": 128, "name": "Identifier", "src": "1522:6:0" } ], "id": 129, "name": "Assignment", "src": "1514:14:0" } ], "id": 130, "name": "ExpressionStatement", "src": "1514:14:0" } ], "id": 131, "name": "Block", "src": "1053:482:0" } ], "id": 132, "name": "FunctionDefinition", "src": "918:617:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "Contribution", "payable": false, "scope": 449, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public", "anonymous": false }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "investor", "scope": 142, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal", "indexed": true }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 133, "name": "ElementaryTypeName", "src": "1587:7:0" } ], "id": 134, "name": "VariableDeclaration", "src": "1587:24:0" }, { "attributes": { "constant": false, "name": "investorAmount", "scope": 142, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal", "indexed": false }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 135, "name": "ElementaryTypeName", "src": "1613:7:0" } ], "id": 136, "name": "VariableDeclaration", "src": "1613:22:0" }, { "attributes": { "constant": false, "name": "investorTotal", "scope": 142, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal", "indexed": false }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 137, "name": "ElementaryTypeName", "src": "1637:7:0" } ], "id": 138, "name": "VariableDeclaration", "src": "1637:21:0" }, { "attributes": { "constant": false, "name": "totalAmount", "scope": 142, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal", "indexed": false }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 139, "name": "ElementaryTypeName", "src": "1660:7:0" } ], "id": 140, "name": "VariableDeclaration", "src": "1660:19:0" }, { "attributes": { "constant": false, "name": "_vault", "scope": 191, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 113, "name": "ElementaryTypeName", "src": "1041:7:1" } ], "id": 114, "name": "VariableDeclaration", "src": "1041:14:1" } ], "id": 141, "name": "ParameterList", "src": "1586:94:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 118, "name": "ParameterList", "src": "1074:0:1" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 574, "type": "modifier ()", "value": "onlyOwner" }, "id": 116, "name": "Identifier", "src": "1064:9:1" } ], "id": 117, "name": "ModifierInvocation", "src": "1064:9:1" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 721, "type": "function (bool) pure", "value": "require" }, "id": 119, "name": "Identifier", "src": "1084:7:1" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!", "prefix": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 93, "type": "bool", "value": "isInitialized" }, "id": 120, "name": "Identifier", "src": "1093:13:1" } ], "id": 121, "name": "UnaryOperation", "src": "1092:14:1" } ], "id": 122, "name": "FunctionCall", "src": "1084:23:1" } ], "id": 123, "name": "ExpressionStatement", "src": "1084:23:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 721, "type": "function (bool) pure", "value": "require" }, "id": 124, "name": "Identifier", "src": "1117:7:1" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 106, "type": "uint256", "value": "_startTime" }, "id": 125, "name": "Identifier", "src": "1125:10:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 126, "name": "Literal", "src": "1139:1:1" } ], "id": 127, "name": "BinaryOperation", "src": "1125:15:1" } ], "id": 128, "name": "FunctionCall", "src": "1117:24:1" } ], "id": 129, "name": "ExpressionStatement", "src": "1117:24:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 721, "type": "function (bool) pure", "value": "require" }, "id": 130, "name": "Identifier", "src": "1151:7:1" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 108, "type": "uint256", "value": "_endTime" }, "id": 131, "name": "Identifier", "src": "1159:8:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 132, "name": "Literal", "src": "1171:1:1" } ], "id": 133, "name": "BinaryOperation", "src": "1159:13:1" } ], "id": 134, "name": "FunctionCall", "src": "1151:22:1" } ], "id": 135, "name": "ExpressionStatement", "src": "1151:22:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 721, "type": "function (bool) pure", "value": "require" }, "id": 136, "name": "Identifier", "src": "1183:7:1" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": ">", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 108, "type": "uint256", "value": "_endTime" }, "id": 137, "name": "Identifier", "src": "1191:8:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 106, "type": "uint256", "value": "_startTime" }, "id": 138, "name": "Identifier", "src": "1202:10:1" } ], "id": 139, "name": "BinaryOperation", "src": "1191:21:1" } ], "id": 140, "name": "FunctionCall", "src": "1183:30:1" } ], "id": 141, "name": "ExpressionStatement", "src": "1183:30:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 721, "type": "function (bool) pure", "value": "require" }, "id": 142, "name": "Identifier", "src": "1223:7:1" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 110, "type": "uint256", "value": "_cap" }, "id": 143, "name": "Identifier", "src": "1231:4:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 144, "name": "Literal", "src": "1239:1:1" } ], "id": 145, "name": "BinaryOperation", "src": "1231:9:1" } ], "id": 146, "name": "FunctionCall", "src": "1223:18:1" } ], "id": 147, "name": "ExpressionStatement", "src": "1223:18:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 721, "type": "function (bool) pure", "value": "require" }, "id": 148, "name": "Identifier", "src": "1251:7:1" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 112, "type": "uint256", "value": "_minimumContribution" }, "id": 149, "name": "Identifier", "src": "1259:20:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 150, "name": "Literal", "src": "1283:1:1" } ], "id": 151, "name": "BinaryOperation", "src": "1259:25:1" } ], "id": 152, "name": "FunctionCall", "src": "1251:34:1" } ], "id": 153, "name": "ExpressionStatement", "src": "1251:34:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 721, "type": "function (bool) pure", "value": "require" }, "id": 154, "name": "Identifier", "src": "1295:7:1" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 114, "type": "address", "value": "_vault" }, "id": 155, "name": "Identifier", "src": "1303:6:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "307830", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0x0" }, "id": 156, "name": "Literal", "src": "1313:3:1" } ], "id": 157, "name": "BinaryOperation", "src": "1303:13:1" } ], "id": 158, "name": "FunctionCall", "src": "1295:22:1" } ], "id": 159, "name": "ExpressionStatement", "src": "1295:22:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 721, "type": "function (bool) pure", "value": "require" }, "id": 160, "name": "Identifier", "src": "1327:7:1" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": ">", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 110, "type": "uint256", "value": "_cap" }, "id": 161, "name": "Identifier", "src": "1335:4:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 112, "type": "uint256", "value": "_minimumContribution" }, "id": 162, "name": "Identifier", "src": "1342:20:1" } ], "id": 163, "name": "BinaryOperation", "src": "1335:27:1" } ], "id": 164, "name": "FunctionCall", "src": "1327:36:1" } ], "id": 165, "name": "ExpressionStatement", "src": "1327:36:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 68, "type": "uint256", "value": "startTime" }, "id": 166, "name": "Identifier", "src": "1373:9:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 106, "type": "uint256", "value": "_startTime" }, "id": 167, "name": "Identifier", "src": "1385:10:1" } ], "id": 168, "name": "Assignment", "src": "1373:22:1" } ], "id": 169, "name": "ExpressionStatement", "src": "1373:22:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 70, "type": "uint256", "value": "endTime" }, "id": 170, "name": "Identifier", "src": "1405:7:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 108, "type": "uint256", "value": "_endTime" }, "id": 171, "name": "Identifier", "src": "1415:8:1" } ], "id": 172, "name": "Assignment", "src": "1405:18:1" } ], "id": 173, "name": "ExpressionStatement", "src": "1405:18:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 72, "type": "uint256", "value": "cap" }, "id": 174, "name": "Identifier", "src": "1433:3:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 110, "type": "uint256", "value": "_cap" }, "id": 175, "name": "Identifier", "src": "1439:4:1" } ], "id": 176, "name": "Assignment", "src": "1433:10:1" } ], "id": 177, "name": "ExpressionStatement", "src": "1433:10:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 93, "type": "bool", "value": "isInitialized" }, "id": 178, "name": "Identifier", "src": "1453:13:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "74727565", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "true" }, "id": 179, "name": "Literal", "src": "1469:4:1" } ], "id": 180, "name": "Assignment", "src": "1453:20:1" } ], "id": 181, "name": "ExpressionStatement", "src": "1453:20:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 78, "type": "uint256", "value": "minimumContribution" }, "id": 182, "name": "Identifier", "src": "1483:19:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 112, "type": "uint256", "value": "_minimumContribution" }, "id": 183, "name": "Identifier", "src": "1505:20:1" } ], "id": 184, "name": "Assignment", "src": "1483:42:1" } ], "id": 185, "name": "ExpressionStatement", "src": "1483:42:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 90, "type": "address", "value": "vault" }, "id": 186, "name": "Identifier", "src": "1535:5:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 114, "type": "address", "value": "_vault" }, "id": 187, "name": "Identifier", "src": "1543:6:1" } ], "id": 188, "name": "Assignment", "src": "1535:14:1" } ], "id": 189, "name": "ExpressionStatement", "src": "1535:14:1" } ], "id": 190, "name": "Block", "src": "1074:482:1" } ], "id": 142, "name": "EventDefinition", "src": "1568:113:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "buy", "payable": true, "scope": 411, "stateMutability": "payable", "superFunction": null, "visibility": "public" }, "children": [ { "attributes": { "parameters": [ null ] }, "children": [], "id": 143, "name": "ParameterList", "src": "1698:2:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 144, "name": "ParameterList", "src": "1716:0:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 145, "name": "Identifier", "src": "1726:7:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 27, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 146, "name": "Identifier", "src": "1734:9:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "sender", "referencedDeclaration": null, "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 147, "name": "Identifier", "src": "1744:3:0" } ], "id": 148, "name": "MemberAccess", "src": "1744:10:0" } ], "id": 149, "name": "IndexAccess", "src": "1734:21:0" } ], "id": 150, "name": "FunctionCall", "src": "1726:30:0" } ], "id": 151, "name": "ExpressionStatement", "src": "1726:30:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 152, "name": "Identifier", "src": "1766:7:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "bool", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 311, "type": "function (uint256) view returns (bool)", "value": "isValidPurchase" }, "id": 153, "name": "Identifier", "src": "1774:15:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "value", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 154, "name": "Identifier", "src": "1790:3:0" } ], "id": 155, "name": "MemberAccess", "src": "1790:9:0" } ], "id": 156, "name": "FunctionCall", "src": "1774:26:0" } ], "id": 157, "name": "FunctionCall", "src": "1766:35:0" } ], "id": 158, "name": "ExpressionStatement", "src": "1766:35:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 159, "name": "Identifier", "src": "1811:7:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 34, "type": "bool", "value": "isInitialized" }, "id": 160, "name": "Identifier", "src": "1819:13:0" } ], "id": 161, "name": "FunctionCall", "src": "1811:22:0" } ], "id": 162, "name": "ExpressionStatement", "src": "1811:22:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 163, "name": "Identifier", "src": "1843:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "&&", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": ">=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "arguments": [ null ], "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "uint256", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ null ], "overloadedDeclarations": [ null ], "referencedDeclaration": 270, "type": "function () view returns (uint256)", "value": "getTime" }, "id": 164, "name": "Identifier", "src": "1851:7:0" } ], "id": 165, "name": "FunctionCall", "src": "1851:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 11, "type": "uint256", "value": "startTime" }, "id": 166, "name": "Identifier", "src": "1864:9:0" } ], "id": 167, "name": "BinaryOperation", "src": "1851:22:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "<=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "arguments": [ null ], "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "uint256", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ null ], "overloadedDeclarations": [ null ], "referencedDeclaration": 270, "type": "function () view returns (uint256)", "value": "getTime" }, "id": 168, "name": "Identifier", "src": "1877:7:0" } ], "id": 169, "name": "FunctionCall", "src": "1877:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 13, "type": "uint256", "value": "endTime" }, "id": 170, "name": "Identifier", "src": "1890:7:0" } ], "id": 171, "name": "BinaryOperation", "src": "1877:20:0" } ], "id": 172, "name": "BinaryOperation", "src": "1851:46:0" } ], "id": 173, "name": "FunctionCall", "src": "1843:55:0" } ], "id": 174, "name": "ExpressionStatement", "src": "1843:55:0" }, { "attributes": { "assignments": [ 176 ] }, "children": [ { "attributes": { "constant": false, "name": "investor", "scope": 209, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 175, "name": "ElementaryTypeName", "src": "1908:7:0" } ], "id": 176, "name": "VariableDeclaration", "src": "1908:16:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "sender", "referencedDeclaration": null, "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 177, "name": "Identifier", "src": "1927:3:0" } ], "id": 178, "name": "MemberAccess", "src": "1927:10:0" } ], "id": 179, "name": "VariableDeclarationStatement", "src": "1908:29:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "+=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 23, "type": "mapping(address => uint256)", "value": "investorBalances" }, "id": 180, "name": "Identifier", "src": "1947:16:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 176, "type": "address", "value": "investor" }, "id": 181, "name": "Identifier", "src": "1964:8:0" } ], "id": 182, "name": "IndexAccess", "src": "1947:26:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "value", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 183, "name": "Identifier", "src": "1977:3:0" } ], "id": 184, "name": "MemberAccess", "src": "1977:9:0" } ], "id": 185, "name": "Assignment", "src": "1947:39:0" } ], "id": 186, "name": "ExpressionStatement", "src": "1947:39:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "+=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 17, "type": "uint256", "value": "totalInvestedInWei" }, "id": 187, "name": "Identifier", "src": "1996:18:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "value", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 188, "name": "Identifier", "src": "2018:3:0" } ], "id": 189, "name": "MemberAccess", "src": "2018:9:0" } ], "id": 190, "name": "Assignment", "src": "1996:31:0" } ], "id": 191, "name": "ExpressionStatement", "src": "1996:31:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 221, "type": "function (uint256)", "value": "forwardFunds" }, "id": 192, "name": "Identifier", "src": "2037:12:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "value", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 193, "name": "Identifier", "src": "2050:3:0" } ], "id": 194, "name": "MemberAccess", "src": "2050:9:0" } ], "id": 195, "name": "FunctionCall", "src": "2037:23:0" } ], "id": 196, "name": "ExpressionStatement", "src": "2037:23:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 142, "type": "function (address,uint256,uint256,uint256)", "value": "Contribution" }, "id": 197, "name": "Identifier", "src": "2070:12:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "sender", "referencedDeclaration": null, "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 198, "name": "Identifier", "src": "2083:3:0" } ], "id": 199, "name": "MemberAccess", "src": "2083:10:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "value", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 200, "name": "Identifier", "src": "2095:3:0" } ], "id": 201, "name": "MemberAccess", "src": "2095:9:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 23, "type": "mapping(address => uint256)", "value": "investorBalances" }, "id": 202, "name": "Identifier", "src": "2106:16:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 176, "type": "address", "value": "investor" }, "id": 203, "name": "Identifier", "src": "2123:8:0" } ], "id": 204, "name": "IndexAccess", "src": "2106:26:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 17, "type": "uint256", "value": "totalInvestedInWei" }, "id": 205, "name": "Identifier", "src": "2134:18:0" } ], "id": 206, "name": "FunctionCall", "src": "2070:83:0" } ], "id": 207, "name": "ExpressionStatement", "src": "2070:83:0" } ], "id": 208, "name": "Block", "src": "1716:444:0" } ], "id": 209, "name": "FunctionDefinition", "src": "1686:474:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "forwardFunds", "payable": false, "scope": 411, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_amount", "scope": 221, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 210, "name": "ElementaryTypeName", "src": "2220:7:0" } ], "id": 211, "name": "VariableDeclaration", "src": "2220:15:0" } ], "id": 212, "name": "ParameterList", "src": "2219:17:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 213, "name": "ParameterList", "src": "2246:0:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "transfer", "referencedDeclaration": null, "type": "function (uint256)" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 31, "type": "address", "value": "vault" }, "id": 214, "name": "Identifier", "src": "2256:5:0" } ], "id": 216, "name": "MemberAccess", "src": "2256:14:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 211, "type": "uint256", "value": "_amount" }, "id": 217, "name": "Identifier", "src": "2271:7:0" } ], "id": 218, "name": "FunctionCall", "src": "2256:23:0" } ], "id": 219, "name": "ExpressionStatement", "src": "2256:23:0" } ], "id": 220, "name": "Block", "src": "2246:40:0" } ], "id": 221, "name": "FunctionDefinition", "src": "2198:88:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "claimTokens", "payable": false, "scope": 411, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_token", "scope": 262, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 222, "name": "ElementaryTypeName", "src": "2340:7:0" } ], "id": 223, "name": "VariableDeclaration", "src": "2340:14:0" } ], "id": 224, "name": "ParameterList", "src": "2339:16:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 227, "name": "ParameterList", "src": "2373:0:0" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 586, "type": "modifier ()", "value": "onlyOwner" }, "id": 225, "name": "Identifier", "src": "2363:9:0" } ], "id": 226, "name": "ModifierInvocation", "src": "2363:9:0" }, { "children": [ { "attributes": { "falseBody": null }, "children": [ { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "==", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 223, "type": "address", "value": "_token" }, "id": 228, "name": "Identifier", "src": "2387:6:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "307830", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0x0" }, "id": 229, "name": "Literal", "src": "2397:3:0" } ], "id": 230, "name": "BinaryOperation", "src": "2387:13:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "transfer", "referencedDeclaration": null, "type": "function (uint256)" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 560, "type": "address", "value": "owner" }, "id": 231, "name": "Identifier", "src": "2416:5:0" } ], "id": 233, "name": "MemberAccess", "src": "2416:14:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "balance", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 672, "type": "contract PresaleOracles", "value": "this" }, "id": 234, "name": "Identifier", "src": "2431:4:0" } ], "id": 235, "name": "MemberAccess", "src": "2431:12:0" } ], "id": 236, "name": "FunctionCall", "src": "2416:28:0" } ], "id": 237, "name": "ExpressionStatement", "src": "2416:28:0" }, { "attributes": { "expression": null, "functionReturnParameters": 227 }, "id": 238, "name": "Return", "src": "2458:7:0" } ], "id": 239, "name": "Block", "src": "2402:73:0" } ], "id": 240, "name": "IfStatement", "src": "2383:92:0" }, { "attributes": { "assignments": [ 242 ] }, "children": [ { "attributes": { "constant": false, "name": "token", "scope": 262, "stateVariable": false, "storageLocation": "default", "type": "contract ERC20Basic", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "contractScope": null, "name": "ERC20Basic", "referencedDeclaration": 641, "type": "contract ERC20Basic" }, "id": 241, "name": "UserDefinedTypeName", "src": "2489:10:0" } ], "id": 242, "name": "VariableDeclaration", "src": "2489:16:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "contract ERC20Basic", "type_conversion": true }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 641, "type": "type(contract ERC20Basic)", "value": "ERC20Basic" }, "id": 243, "name": "Identifier", "src": "2508:10:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 223, "type": "address", "value": "_token" }, "id": 244, "name": "Identifier", "src": "2519:6:0" } ], "id": 245, "name": "FunctionCall", "src": "2508:18:0" } ], "id": 246, "name": "VariableDeclarationStatement", "src": "2489:37:0" }, { "attributes": { "assignments": [ 248 ] }, "children": [ { "attributes": { "constant": false, "name": "balance", "scope": 262, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 247, "name": "ElementaryTypeName", "src": "2536:7:0" } ], "id": 248, "name": "VariableDeclaration", "src": "2536:15:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "uint256", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_contract$_PresaleOracles_$411", "typeString": "contract PresaleOracles" } ], "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "balanceOf", "referencedDeclaration": 623, "type": "function (address) view external returns (uint256)" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 242, "type": "contract ERC20Basic", "value": "token" }, "id": 249, "name": "Identifier", "src": "2554:5:0" } ], "id": 250, "name": "MemberAccess", "src": "2554:15:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 672, "type": "contract PresaleOracles", "value": "this" }, "id": 251, "name": "Identifier", "src": "2570:4:0" } ], "id": 252, "name": "FunctionCall", "src": "2554:21:0" } ], "id": 253, "name": "VariableDeclarationStatement", "src": "2536:39:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "bool", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "transfer", "referencedDeclaration": 632, "type": "function (address,uint256) external returns (bool)" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 242, "type": "contract ERC20Basic", "value": "token" }, "id": 254, "name": "Identifier", "src": "2585:5:0" } ], "id": 256, "name": "MemberAccess", "src": "2585:14:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 560, "type": "address", "value": "owner" }, "id": 257, "name": "Identifier", "src": "2600:5:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 248, "type": "uint256", "value": "balance" }, "id": 258, "name": "Identifier", "src": "2607:7:0" } ], "id": 259, "name": "FunctionCall", "src": "2585:30:0" } ], "id": 260, "name": "ExpressionStatement", "src": "2585:30:0" } ], "id": 261, "name": "Block", "src": "2373:249:0" } ], "id": 262, "name": "FunctionDefinition", "src": "2319:303:0" }, { "attributes": { "constant": true, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "getTime", "payable": false, "scope": 411, "stateMutability": "view", "superFunction": null, "visibility": "internal" }, "children": [ { "attributes": { "parameters": [ null ] }, "children": [], "id": 263, "name": "ParameterList", "src": "2644:2:0" }, { "children": [ { "attributes": { "constant": false, "name": "", "scope": 270, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 264, "name": "ElementaryTypeName", "src": "2669:7:0" } ], "id": 265, "name": "VariableDeclaration", "src": "2669:7:0" } ], "id": 266, "name": "ParameterList", "src": "2668:9:0" }, { "children": [ { "attributes": { "functionReturnParameters": 266 }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 655, "type": "uint256", "value": "now" }, "id": 267, "name": "Identifier", "src": "2695:3:0" } ], "id": 268, "name": "Return", "src": "2688:10:0" } ], "id": 269, "name": "Block", "src": "2678:27:0" } ], "id": 270, "name": "FunctionDefinition", "src": "2628:77:0" }, { "attributes": { "constant": true, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "isValidPurchase", "payable": false, "scope": 411, "stateMutability": "view", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_amount", "scope": 311, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 271, "name": "ElementaryTypeName", "src": "2763:7:0" } ], "id": 272, "name": "VariableDeclaration", "src": "2763:15:0" } ], "id": 273, "name": "ParameterList", "src": "2762:17:0" }, { "children": [ { "attributes": { "constant": false, "name": "", "scope": 311, "stateVariable": false, "storageLocation": "default", "type": "bool", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bool", "type": "bool" }, "id": 274, "name": "ElementaryTypeName", "src": "2800:4:0" } ], "id": 275, "name": "VariableDeclaration", "src": "2800:4:0" } ], "id": 276, "name": "ParameterList", "src": "2799:6:0" }, { "children": [ { "attributes": { "assignments": [ 278 ] }, "children": [ { "attributes": { "constant": false, "name": "nonZero", "scope": 311, "stateVariable": false, "storageLocation": "default", "type": "bool", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bool", "type": "bool" }, "id": 277, "name": "ElementaryTypeName", "src": "2816:4:0" } ], "id": 278, "name": "VariableDeclaration", "src": "2816:12:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": ">", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 272, "type": "uint256", "value": "_amount" }, "id": 279, "name": "Identifier", "src": "2831:7:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 280, "name": "Literal", "src": "2841:1:0" } ], "id": 281, "name": "BinaryOperation", "src": "2831:11:0" } ], "id": 282, "name": "VariableDeclarationStatement", "src": "2816:26:0" }, { "attributes": { "assignments": [ 284 ] }, "children": [ { "attributes": { "constant": false, "name": "hasMinimumAmount", "scope": 311, "stateVariable": false, "storageLocation": "default", "type": "bool", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bool", "type": "bool" }, "id": 283, "name": "ElementaryTypeName", "src": "2852:4:0" } ], "id": 284, "name": "VariableDeclaration", "src": "2852:21:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": ">=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "uint256", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "add", "referencedDeclaration": 505, "type": "function (uint256,uint256) view returns (uint256)" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 23, "type": "mapping(address => uint256)", "value": "investorBalances" }, "id": 285, "name": "Identifier", "src": "2876:16:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "sender", "referencedDeclaration": null, "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 653, "type": "msg", "value": "msg" }, "id": 286, "name": "Identifier", "src": "2893:3:0" } ], "id": 287, "name": "MemberAccess", "src": "2893:10:0" } ], "id": 288, "name": "IndexAccess", "src": "2876:28:0" } ], "id": 289, "name": "MemberAccess", "src": "2876:32:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 272, "type": "uint256", "value": "_amount" }, "id": 290, "name": "Identifier", "src": "2909:7:0" } ], "id": 291, "name": "FunctionCall", "src": "2876:41:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 19, "type": "uint256", "value": "minimumContribution" }, "id": 292, "name": "Identifier", "src": "2921:19:0" } ], "id": 293, "name": "BinaryOperation", "src": "2876:64:0" } ], "id": 294, "name": "VariableDeclarationStatement", "src": "2852:88:0" }, { "attributes": { "assignments": [ 296 ] }, "children": [ { "attributes": { "constant": false, "name": "withinCap", "scope": 311, "stateVariable": false, "storageLocation": "default", "type": "bool", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "bool", "type": "bool" }, "id": 295, "name": "ElementaryTypeName", "src": "2950:4:0" } ], "id": 296, "name": "VariableDeclaration", "src": "2950:14:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "<=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "uint256", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "add", "referencedDeclaration": 505, "type": "function (uint256,uint256) view returns (uint256)" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 17, "type": "uint256", "value": "totalInvestedInWei" }, "id": 297, "name": "Identifier", "src": "2967:18:0" } ], "id": 298, "name": "MemberAccess", "src": "2967:22:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 272, "type": "uint256", "value": "_amount" }, "id": 299, "name": "Identifier", "src": "2990:7:0" } ], "id": 300, "name": "FunctionCall", "src": "2967:31:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 15, "type": "uint256", "value": "cap" }, "id": 301, "name": "Identifier", "src": "3002:3:0" } ], "id": 302, "name": "BinaryOperation", "src": "2967:38:0" } ], "id": 303, "name": "VariableDeclarationStatement", "src": "2950:55:0" }, { "attributes": { "functionReturnParameters": 276 }, "children": [ { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "&&", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "&&", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 284, "type": "bool", "value": "hasMinimumAmount" }, "id": 304, "name": "Identifier", "src": "3022:16:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 296, "type": "bool", "value": "withinCap" }, "id": 305, "name": "Identifier", "src": "3042:9:0" } ], "id": 306, "name": "BinaryOperation", "src": "3022:29:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 278, "type": "bool", "value": "nonZero" }, "id": 307, "name": "Identifier", "src": "3055:7:0" } ], "id": 308, "name": "BinaryOperation", "src": "3022:40:0" } ], "id": 309, "name": "Return", "src": "3015:47:0" } ], "id": 310, "name": "Block", "src": "2806:263:0" } ], "id": 311, "name": "FunctionDefinition", "src": "2738:331:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "whitelistInvestor", "payable": false, "scope": 411, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_newInvestor", "scope": 334, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 312, "name": "ElementaryTypeName", "src": "3129:7:0" } ], "id": 313, "name": "VariableDeclaration", "src": "3129:20:0" } ], "id": 314, "name": "ParameterList", "src": "3128:22:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 317, "name": "ParameterList", "src": "3168:0:0" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 586, "type": "modifier ()", "value": "onlyOwner" }, "id": 315, "name": "Identifier", "src": "3158:9:0" } ], "id": 316, "name": "ModifierInvocation", "src": "3158:9:0" }, { "children": [ { "attributes": { "falseBody": null }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!", "prefix": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 27, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 318, "name": "Identifier", "src": "3182:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 313, "type": "address", "value": "_newInvestor" }, "id": 319, "name": "Identifier", "src": "3192:12:0" } ], "id": 320, "name": "IndexAccess", "src": "3182:23:0" } ], "id": 321, "name": "UnaryOperation", "src": "3181:24:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 27, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 322, "name": "Identifier", "src": "3221:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 313, "type": "address", "value": "_newInvestor" }, "id": 323, "name": "Identifier", "src": "3231:12:0" } ], "id": 324, "name": "IndexAccess", "src": "3221:23:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "74727565", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "true" }, "id": 325, "name": "Literal", "src": "3247:4:0" } ], "id": 326, "name": "Assignment", "src": "3221:30:0" } ], "id": 327, "name": "ExpressionStatement", "src": "3221:30:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "++", "prefix": false, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 29, "type": "uint256", "value": "investorsLength" }, "id": 328, "name": "Identifier", "src": "3265:15:0" } ], "id": 329, "name": "UnaryOperation", "src": "3265:17:0" } ], "id": 330, "name": "ExpressionStatement", "src": "3265:17:0" } ], "id": 331, "name": "Block", "src": "3207:86:0" } ], "id": 332, "name": "IfStatement", "src": "3178:115:0" } ], "id": 333, "name": "Block", "src": "3168:131:0" } ], "id": 334, "name": "FunctionDefinition", "src": "3102:197:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "whitelistInvestors", "payable": false, "scope": 411, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_investors", "scope": 384, "stateVariable": false, "storageLocation": "default", "type": "address[] calldata", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "length": null, "type": "address[] storage pointer" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 335, "name": "ElementaryTypeName", "src": "3360:7:0" } ], "id": 336, "name": "ArrayTypeName", "src": "3360:9:0" } ], "id": 337, "name": "VariableDeclaration", "src": "3360:20:0" } ], "id": 338, "name": "ParameterList", "src": "3359:22:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 341, "name": "ParameterList", "src": "3401:0:0" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 586, "type": "modifier ()", "value": "onlyOwner" }, "id": 339, "name": "Identifier", "src": "3391:9:0" } ], "id": 340, "name": "ModifierInvocation", "src": "3391:9:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 656, "type": "function (bool) pure", "value": "require" }, "id": 342, "name": "Identifier", "src": "3411:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "<=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "length", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 337, "type": "address[] calldata", "value": "_investors" }, "id": 343, "name": "Identifier", "src": "3419:10:0" } ], "id": 344, "name": "MemberAccess", "src": "3419:17:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "323530", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 250", "value": "250" }, "id": 345, "name": "Literal", "src": "3440:3:0" } ], "id": 346, "name": "BinaryOperation", "src": "3419:24:0" } ], "id": 347, "name": "FunctionCall", "src": "3411:33:0" } ], "id": 348, "name": "ExpressionStatement", "src": "3411:33:0" }, { "children": [ { "attributes": { "assignments": [ 350 ] }, "children": [ { "attributes": { "constant": false, "name": "i", "scope": 384, "stateVariable": false, "storageLocation": "default", "type": "uint8", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint8", "type": "uint8" }, "id": 349, "name": "ElementaryTypeName", "src": "3458:5:0" } ], "id": 350, "name": "VariableDeclaration", "src": "3458:7:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 351, "name": "Literal", "src": "3466:1:0" } ], "id": 352, "name": "VariableDeclarationStatement", "src": "3458:9:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "<", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 350, "type": "uint8", "value": "i" }, "id": 353, "name": "Identifier", "src": "3469:1:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "length", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 337, "type": "address[] calldata", "value": "_investors" }, "id": 354, "name": "Identifier", "src": "3471:10:0" } ], "id": 355, "name": "MemberAccess", "src": "3471:17:0" } ], "id": 356, "name": "BinaryOperation", "src": "3469:19:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "++", "prefix": false, "type": "uint8" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 350, "type": "uint8", "value": "i" }, "id": 357, "name": "Identifier", "src": "3489:1:0" } ], "id": 358, "name": "UnaryOperation", "src": "3489:3:0" } ], "id": 359, "name": "ExpressionStatement", "src": "3489:3:0" }, { "children": [ { "attributes": { "assignments": [ 361 ] }, "children": [ { "attributes": { "constant": false, "name": "newInvestor", "scope": 384, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 360, "name": "ElementaryTypeName", "src": "3508:7:0" } ], "id": 361, "name": "VariableDeclaration", "src": "3508:19:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 337, "type": "address[] calldata", "value": "_investors" }, "id": 362, "name": "Identifier", "src": "3530:10:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 350, "type": "uint8", "value": "i" }, "id": 363, "name": "Identifier", "src": "3541:1:0" } ], "id": 364, "name": "IndexAccess", "src": "3530:13:0" } ], "id": 365, "name": "VariableDeclarationStatement", "src": "3508:35:0" }, { "attributes": { "falseBody": null }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!", "prefix": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 27, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 366, "name": "Identifier", "src": "3561:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 361, "type": "address", "value": "newInvestor" }, "id": 367, "name": "Identifier", "src": "3571:11:0" } ], "id": 368, "name": "IndexAccess", "src": "3561:22:0" } ], "id": 369, "name": "UnaryOperation", "src": "3560:23:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 27, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 370, "name": "Identifier", "src": "3603:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 361, "type": "address", "value": "newInvestor" }, "id": 371, "name": "Identifier", "src": "3613:11:0" } ], "id": 372, "name": "IndexAccess", "src": "3603:22:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "74727565", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "true" }, "id": 373, "name": "Literal", "src": "3628:4:0" } ], "id": 374, "name": "Assignment", "src": "3603:29:0" } ], "id": 375, "name": "ExpressionStatement", "src": "3603:29:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "++", "prefix": false, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 29, "type": "uint256", "value": "investorsLength" }, "id": 376, "name": "Identifier", "src": "3650:15:0" } ], "id": 377, "name": "UnaryOperation", "src": "3650:17:0" } ], "id": 378, "name": "ExpressionStatement", "src": "3650:17:0" } ], "id": 379, "name": "Block", "src": "3585:97:0" } ], "id": 380, "name": "IfStatement", "src": "3557:125:0" } ], "id": 381, "name": "Block", "src": "3494:198:0" } ], "id": 382, "name": "ForStatement", "src": "3454:238:0" } ], "id": 383, "name": "Block", "src": "3401:297:0" } ], "id": 384, "name": "FunctionDefinition", "src": "3332:366:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "blacklistInvestor", "payable": false, "scope": 411, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_investor", "scope": 410, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 385, "name": "ElementaryTypeName", "src": "3730:7:0" } ], "id": 386, "name": "VariableDeclaration", "src": "3730:17:0" } ], "id": 387, "name": "ParameterList", "src": "3729:19:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 390, "name": "ParameterList", "src": "3766:0:0" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 586, "type": "modifier ()", "value": "onlyOwner" }, "id": 388, "name": "Identifier", "src": "3756:9:0" } ], "id": 389, "name": "ModifierInvocation", "src": "3756:9:0" }, { "children": [ { "attributes": { "falseBody": null }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 27, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 391, "name": "Identifier", "src": "3779:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 386, "type": "address", "value": "_investor" }, "id": 392, "name": "Identifier", "src": "3789:9:0" } ], "id": 393, "name": "IndexAccess", "src": "3779:20:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "delete", "prefix": true, "type": "tuple()" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 27, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 394, "name": "Identifier", "src": "3822:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 386, "type": "address", "value": "_investor" }, "id": 395, "name": "Identifier", "src": "3832:9:0" } ], "id": 396, "name": "IndexAccess", "src": "3822:20:0" } ], "id": 397, "name": "UnaryOperation", "src": "3815:27:0" } ], "id": 398, "name": "ExpressionStatement", "src": "3815:27:0" }, { "attributes": { "falseBody": null }, "children": [ { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "!=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 29, "type": "uint256", "value": "investorsLength" }, "id": 399, "name": "Identifier", "src": "3859:15:0" }, { "attributes": { "argumentTypes": null, "hexvalue": "30", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 0", "value": "0" }, "id": 400, "name": "Literal", "src": "3878:1:0" } ], "id": 401, "name": "BinaryOperation", "src": "3859:20:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "--", "prefix": false, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 29, "type": "uint256", "value": "investorsLength" }, "id": 402, "name": "Identifier", "src": "3899:15:0" } ], "id": 403, "name": "UnaryOperation", "src": "3899:17:0" } ], "id": 404, "name": "ExpressionStatement", "src": "3899:17:0" } ], "id": 405, "name": "Block", "src": "3881:50:0" } ], "id": 406, "name": "IfStatement", "src": "3856:75:0" } ], "id": 407, "name": "Block", "src": "3801:140:0" } ], "id": 408, "name": "IfStatement", "src": "3776:165:0" } ], "id": 409, "name": "Block", "src": "3766:181:0" } ], "id": 410, "name": "FunctionDefinition", "src": "3703:244:0" } ], "id": 411, "name": "ContractDefinition", "src": "204:3745:0" } ], "id": 412, "name": "SourceUnit", "src": "0:3949:0" }, "compiler": { "name": "solc", "version": "0.4.18+commit.9cf6e910.Emscripten.clang" }, "networks": {}, "schemaVersion": "1.0.1", "updatedAt": "2017-11-15T06:13:42.801Z" }