oracles-presale/build/contracts/PresaleOracles.json

7387 lines
315 KiB
JSON

{
"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"
}