{ "contractName": "Presale", "abi": [ { "constant": false, "inputs": [ { "name": "_startTime", "type": "uint256" }, { "name": "_endTime", "type": "uint256" }, { "name": "_cap", "type": "uint256" }, { "name": "_vault", "type": "address" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "rate", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "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": "_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": "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": "", "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": "_token", "type": "address" } ], "name": "claimTokens", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "totalInvestedInWei", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "vault", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_investor", "type": "address" } ], "name": "blacklistInvestor", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" } ], "bytecode": "0x60606040526000600560006101000a81548160ff021916908315150217905550341561002a57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061105b806100796000396000f3006060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631f8d519d146101065780632c4e722e1461015a5780633197cbb614610183578063355274ea146101ac578063392e53cd146101d55780635613680a14610202578063594337a91461025c57806378e97925146102855780638da5cb5b146102ae5780639b19251a14610303578063a6f2ae3a14610354578063b29a61c11461035e578063c430bcda146103ab578063df8de3e7146103e4578063f117c9241461041d578063f2fde38b14610446578063fbfa77cf1461047f578063ffc1b038146104d4575b61010461050d565b005b341561011157600080fd5b610158600480803590602001909190803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610631565b005b341561016557600080fd5b61016d610775565b6040518082815260200191505060405180910390f35b341561018e57600080fd5b61019661077b565b6040518082815260200191505060405180910390f35b34156101b757600080fd5b6101bf610781565b6040518082815260200191505060405180910390f35b34156101e057600080fd5b6101e8610787565b604051808215151515815260200191505060405180910390f35b341561020d57600080fd5b61025a60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190505061079a565b005b341561026757600080fd5b61026f610907565b6040518082815260200191505060405180910390f35b341561029057600080fd5b61029861090d565b6040518082815260200191505060405180910390f35b34156102b957600080fd5b6102c1610913565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030e57600080fd5b61033a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610938565b604051808215151515815260200191505060405180910390f35b61035c61050d565b005b341561036957600080fd5b610395600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610958565b6040518082815260200191505060405180910390f35b34156103b657600080fd5b6103e2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610970565b005b34156103ef57600080fd5b61041b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a8c565b005b341561042857600080fd5b610430610d37565b6040518082815260200191505060405180910390f35b341561045157600080fd5b61047d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d3d565b005b341561048a57600080fd5b610492610e92565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104df57600080fd5b61050b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610eb8565b005b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561056757600080fd5b60003411151561057657600080fd5b600560009054906101000a900460ff16151561059157600080fd5b60015442101580156105a557506002544211155b15156105b057600080fd5b6003543460065401111515156105c557600080fd5b33905034600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503460066000828254019250508190555061062e34610fcb565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561068c57600080fd5b600560009054906101000a900460ff161515156106a857600080fd5b600084141515156106b857600080fd5b600083141515156106c857600080fd5b600082141515156106d857600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156106fe57600080fd5b8360018190555082600281905550816003819055506001600560006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b60025481565b60035481565b600560009054906101000a900460ff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107f857600080fd5b60fa83511115151561080957600080fd5b600091505b82518260ff16101561090257828260ff1681518110151561082b57fe5b906020019060200201519050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156108f5576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b818060010192505061080e565b505050565b60095481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109cb57600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610a89576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b50565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610aea57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415610b86576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515610b8157600080fd5b610d32565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610c2c57600080fd5b6102c65a03f11515610c3d57600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610d1557600080fd5b6102c65a03f11515610d2657600080fd5b50505060405180519050505b505050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dd457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f1357600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fc857600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600960008154809291906001900391905055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561102c57600080fd5b505600a165627a7a72305820a479bf0ec5b6baeb67334cf7f2433e91673f12d8e3f817e09f8b1af72a9352290029", "deployedBytecode": "0x6060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631f8d519d146101065780632c4e722e1461015a5780633197cbb614610183578063355274ea146101ac578063392e53cd146101d55780635613680a14610202578063594337a91461025c57806378e97925146102855780638da5cb5b146102ae5780639b19251a14610303578063a6f2ae3a14610354578063b29a61c11461035e578063c430bcda146103ab578063df8de3e7146103e4578063f117c9241461041d578063f2fde38b14610446578063fbfa77cf1461047f578063ffc1b038146104d4575b61010461050d565b005b341561011157600080fd5b610158600480803590602001909190803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610631565b005b341561016557600080fd5b61016d610775565b6040518082815260200191505060405180910390f35b341561018e57600080fd5b61019661077b565b6040518082815260200191505060405180910390f35b34156101b757600080fd5b6101bf610781565b6040518082815260200191505060405180910390f35b34156101e057600080fd5b6101e8610787565b604051808215151515815260200191505060405180910390f35b341561020d57600080fd5b61025a60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190505061079a565b005b341561026757600080fd5b61026f610907565b6040518082815260200191505060405180910390f35b341561029057600080fd5b61029861090d565b6040518082815260200191505060405180910390f35b34156102b957600080fd5b6102c1610913565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030e57600080fd5b61033a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610938565b604051808215151515815260200191505060405180910390f35b61035c61050d565b005b341561036957600080fd5b610395600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610958565b6040518082815260200191505060405180910390f35b34156103b657600080fd5b6103e2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610970565b005b34156103ef57600080fd5b61041b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a8c565b005b341561042857600080fd5b610430610d37565b6040518082815260200191505060405180910390f35b341561045157600080fd5b61047d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d3d565b005b341561048a57600080fd5b610492610e92565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104df57600080fd5b61050b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610eb8565b005b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561056757600080fd5b60003411151561057657600080fd5b600560009054906101000a900460ff16151561059157600080fd5b60015442101580156105a557506002544211155b15156105b057600080fd5b6003543460065401111515156105c557600080fd5b33905034600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503460066000828254019250508190555061062e34610fcb565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561068c57600080fd5b600560009054906101000a900460ff161515156106a857600080fd5b600084141515156106b857600080fd5b600083141515156106c857600080fd5b600082141515156106d857600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156106fe57600080fd5b8360018190555082600281905550816003819055506001600560006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b60025481565b60035481565b600560009054906101000a900460ff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107f857600080fd5b60fa83511115151561080957600080fd5b600091505b82518260ff16101561090257828260ff1681518110151561082b57fe5b906020019060200201519050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156108f5576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b818060010192505061080e565b505050565b60095481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109cb57600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610a89576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b50565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610aea57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415610b86576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515610b8157600080fd5b610d32565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610c2c57600080fd5b6102c65a03f11515610c3d57600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610d1557600080fd5b6102c65a03f11515610d2657600080fd5b50505060405180519050505b505050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dd457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f1357600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fc857600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600960008154809291906001900391905055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561102c57600080fd5b505600a165627a7a72305820a479bf0ec5b6baeb67334cf7f2433e91673f12d8e3f817e09f8b1af72a9352290029", "sourceMap": "202:2501:1:-;;;371:5;343:33;;;;;;;;;;;;;;;;;;;;651;;;;;;;;502:10:3;494:5;;:18;;;;;;;;;;;;;;;;;;202:2501:1;;;;;;", "deployedSourceMap": "202:2501:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;629:5;:3;:5::i;:::-;202:2501;694:405;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;318:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;266:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;294:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;343:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2145:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;525:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;236:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;478:41:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1109:412;;;;;;421:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1943:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;1634:303;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;561:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2514:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;1109:412;1362:16;1157:9;:21;1167:10;1157:21;;;;;;;;;;;;;;;;;;;;;;;;;1149:30;;;;;;;;1209:1;1197:9;:13;1189:22;;;;;;;;1229:13;;;;;;;;;;;1221:22;;;;;;;;1268:9;;1261:3;:16;;:34;;;;;1288:7;;1281:3;:14;;1261:34;1253:43;;;;;;;;1348:3;;1335:9;1314:18;;:30;:37;;1306:46;;;;;;;;1381:10;1362:29;;1431:9;1401:16;:26;1418:8;1401:26;;;;;;;;;;;;;;;;:39;;;;;;;;;;;1472:9;1450:18;;:31;;;;;;;;;;;1491:23;1504:9;1491:12;:23::i;:::-;1109:412;:::o;694:405::-;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;818:13:1;;;;;;;;;;;817:14;809:23;;;;;;;;864:1;850:10;:15;;842:24;;;;;;;;896:1;884:8;:13;;876:22;;;;;;;;924:1;916:4;:9;;908:18;;;;;;;;954:3;944:6;:13;;;;936:22;;;;;;;;980:10;968:9;:22;;;;1010:8;1000:7;:18;;;;1034:4;1028:3;:10;;;;1064:4;1048:13;;:20;;;;;;;;;;;;;;;;;;1086:6;1078:5;;:14;;;;;;;;;;;;;;;;;;694:405;;;;:::o;318:19::-;;;;:::o;266:22::-;;;;:::o;294:18::-;;;;:::o;343:33::-;;;;;;;;;;;;;:::o;2145:364::-;2269:7;2319:19;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;2251:3:1;2230:10;:17;:24;;2222:33;;;;;;;;2277:1;2269:9;;2265:238;2282:10;:17;2280:1;:19;;;2265:238;;;2341:10;2352:1;2341:13;;;;;;;;;;;;;;;;;;;;2319:35;;2372:9;:22;2382:11;2372:22;;;;;;;;;;;;;;;;;;;;;;;;;2371:23;2368:125;;;2439:4;2414:9;:22;2424:11;2414:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;2461:15;;:17;;;;;;;;;;;;;2368:125;2300:3;;;;;;;2265:238;;;2145:364;;;:::o;525:30::-;;;;:::o;236:24::-;;;;:::o;238:20:3:-;;;;;;;;;;;;;:::o;478:41:1:-;;;;;;;;;;;;;;;;;;;;;;:::o;421:51::-;;;;;;;;;;;;;;;;;:::o;1943:197::-;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;2023:9:1;:23;2033:12;2023:23;;;;;;;;;;;;;;;;;;;;;;;;;2022:24;2019:115;;;2088:4;2062:9;:23;2072:12;2062:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;2106:15;;:17;;;;;;;;;;;;;2019:115;1943:197;:::o;1634:303::-;1804:16;1851:15;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1712:3:1;1702:6;:13;;;1698:92;;;1731:5;;;;;;;;;;;:14;;:28;1746:4;:12;;;1731:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1773:7;;1698:92;1834:6;1804:37;;1869:5;:15;;;1885:4;1869:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1851:39;;1900:5;:14;;;1915:5;;;;;;;;;;;1922:7;1900:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;659:1:3;1634:303:1;;;:::o;382:33::-;;;;:::o;827:169:3:-;647:5;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;923:1;903:22;;:8;:22;;;;895:31;;;;;;;;960:8;932:37;;953:5;;;;;;;;;;;932:37;;;;;;;;;;;;983:8;975:5;;:16;;;;;;;;;;;;;;;;;;827:169;:::o;561:20:1:-;;;;;;;;;;;;;:::o;2514:187::-;647:5:3;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;2590:9:1;:20;2600:9;2590:20;;;;;;;;;;;;;;;;;;;;;;;;;2587:108;;;2633:9;:20;2643:9;2633:20;;;;;;;;;;;;;;;;2626:27;;;;;;;;;;;2667:15;;:17;;;;;;;;;;;;;;2587:108;2514:187;:::o;1536:88::-;1594:5;;;;;;;;;;;:14;;:23;1609:7;1594:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1536:88;:::o", "source": "import \"zeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"zeppelin-solidity/contracts/token/BasicToken.sol\";\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\n\npragma solidity ^0.4.17;\n\ncontract Presale is Ownable {\n uint256 public startTime;\n uint256 public endTime;\n uint256 public cap;\n uint256 public rate;\n bool public isInitialized = false;\n uint256 public totalInvestedInWei;\n mapping(address => uint256) public investorBalances;\n mapping(address => bool) public whitelist;\n uint256 public investorsLength;\n address public vault;\n \n function () public payable {\n buy();\n }\n \n function Presale() public {\n }\n \n function initialize(uint256 _startTime, uint256 _endTime, uint256 _cap, address _vault) public onlyOwner {\n require(!isInitialized);\n require(_startTime != 0);\n require(_endTime != 0);\n require(_cap != 0);\n require(_vault != 0x0);\n startTime = _startTime;\n endTime = _endTime;\n cap = _cap;\n isInitialized = true;\n vault = _vault;\n }\n \n function buy() public payable {\n require(whitelist[msg.sender]);\n require(msg.value > 0);\n require(isInitialized);\n require(now >= startTime && now <= endTime);\n require(totalInvestedInWei + msg.value <= cap);\n address investor = msg.sender;\n investorBalances[investor] += msg.value;\n totalInvestedInWei += msg.value;\n forwardFunds(msg.value);\n }\n \n \n function forwardFunds(uint256 _amount) internal {\n owner.transfer(_amount);\n }\n \n function claimTokens(address _token) public onlyOwner {\n if (_token == 0x0) {\n owner.transfer(this.balance);\n return;\n }\n \n BasicToken token = BasicToken(_token);\n uint256 balance = token.balanceOf(this);\n token.transfer(owner, balance);\n }\n\n function whitelistInvestor(address _newInvestor) public onlyOwner {\n if(!whitelist[_newInvestor]) {\n whitelist[_newInvestor] = true;\n investorsLength++;\n }\n }\n function whitelistInvestors(address[] _investors) public 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 investorsLength--;\n }\n }\n}", "sourcePath": "/Users/rstorm/repos/presale-oracles/contracts/PresaleOracles.sol", "ast": { "attributes": { "absolutePath": "/Users/rstorm/repos/presale-oracles/contracts/PresaleOracles.sol", "exportedSymbols": { "Presale": [ 373 ] } }, "children": [ { "attributes": { "SourceUnit": 469, "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", "file": "zeppelin-solidity/contracts/math/SafeMath.sol", "scope": 374, "symbolAliases": [ null ], "unitAlias": "" }, "id": 58, "name": "ImportDirective", "src": "0:55:1" }, { "attributes": { "SourceUnit": 602, "absolutePath": "zeppelin-solidity/contracts/token/BasicToken.sol", "file": "zeppelin-solidity/contracts/token/BasicToken.sol", "scope": 374, "symbolAliases": [ null ], "unitAlias": "" }, "id": 59, "name": "ImportDirective", "src": "56:58:1" }, { "attributes": { "SourceUnit": 525, "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", "scope": 374, "symbolAliases": [ null ], "unitAlias": "" }, "id": 60, "name": "ImportDirective", "src": "115:59:1" }, { "attributes": { "literals": [ "solidity", "^", "0.4", ".17" ] }, "id": 61, "name": "PragmaDirective", "src": "176:24:1" }, { "attributes": { "contractDependencies": [ 524 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ 373, 524 ], "name": "Presale", "scope": 374 }, "children": [ { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "contractScope": null, "name": "Ownable", "referencedDeclaration": 524, "type": "contract Ownable" }, "id": 62, "name": "UserDefinedTypeName", "src": "222:7:1" } ], "id": 63, "name": "InheritanceSpecifier", "src": "222:7:1" }, { "attributes": { "constant": false, "name": "startTime", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 64, "name": "ElementaryTypeName", "src": "236:7:1" } ], "id": 65, "name": "VariableDeclaration", "src": "236:24:1" }, { "attributes": { "constant": false, "name": "endTime", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 66, "name": "ElementaryTypeName", "src": "266:7:1" } ], "id": 67, "name": "VariableDeclaration", "src": "266:22:1" }, { "attributes": { "constant": false, "name": "cap", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 68, "name": "ElementaryTypeName", "src": "294:7:1" } ], "id": 69, "name": "VariableDeclaration", "src": "294:18:1" }, { "attributes": { "constant": false, "name": "rate", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 70, "name": "ElementaryTypeName", "src": "318:7:1" } ], "id": 71, "name": "VariableDeclaration", "src": "318:19:1" }, { "attributes": { "constant": false, "name": "isInitialized", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "bool", "visibility": "public" }, "children": [ { "attributes": { "name": "bool", "type": "bool" }, "id": 72, "name": "ElementaryTypeName", "src": "343:4:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "66616c7365", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "false" }, "id": 73, "name": "Literal", "src": "371:5:1" } ], "id": 74, "name": "VariableDeclaration", "src": "343:33:1" }, { "attributes": { "constant": false, "name": "totalInvestedInWei", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 75, "name": "ElementaryTypeName", "src": "382:7:1" } ], "id": 76, "name": "VariableDeclaration", "src": "382:33:1" }, { "attributes": { "constant": false, "name": "investorBalances", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "mapping(address => uint256)", "value": null, "visibility": "public" }, "children": [ { "attributes": { "type": "mapping(address => uint256)" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 77, "name": "ElementaryTypeName", "src": "429:7:1" }, { "attributes": { "name": "uint256", "type": "uint256" }, "id": 78, "name": "ElementaryTypeName", "src": "440:7:1" } ], "id": 79, "name": "Mapping", "src": "421:27:1" } ], "id": 80, "name": "VariableDeclaration", "src": "421:51:1" }, { "attributes": { "constant": false, "name": "whitelist", "scope": 373, "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": 81, "name": "ElementaryTypeName", "src": "486:7:1" }, { "attributes": { "name": "bool", "type": "bool" }, "id": 82, "name": "ElementaryTypeName", "src": "497:4:1" } ], "id": 83, "name": "Mapping", "src": "478:24:1" } ], "id": 84, "name": "VariableDeclaration", "src": "478:41:1" }, { "attributes": { "constant": false, "name": "investorsLength", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 85, "name": "ElementaryTypeName", "src": "525:7:1" } ], "id": 86, "name": "VariableDeclaration", "src": "525:30:1" }, { "attributes": { "constant": false, "name": "vault", "scope": 373, "stateVariable": true, "storageLocation": "default", "type": "address", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 87, "name": "ElementaryTypeName", "src": "561:7:1" } ], "id": 88, "name": "VariableDeclaration", "src": "561:20:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "", "payable": true, "scope": 373, "stateMutability": "payable", "superFunction": null, "visibility": "public" }, "children": [ { "attributes": { "parameters": [ null ] }, "children": [], "id": 89, "name": "ParameterList", "src": "601:2:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 90, "name": "ParameterList", "src": "619:0:1" }, { "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": 225, "type": "function ()", "value": "buy" }, "id": 91, "name": "Identifier", "src": "629:3:1" } ], "id": 92, "name": "FunctionCall", "src": "629:5:1" } ], "id": 93, "name": "ExpressionStatement", "src": "629:5:1" } ], "id": 94, "name": "Block", "src": "619:22:1" } ], "id": 95, "name": "FunctionDefinition", "src": "592:49:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": true, "modifiers": [ null ], "name": "Presale", "payable": false, "scope": 373, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "attributes": { "parameters": [ null ] }, "children": [], "id": 96, "name": "ParameterList", "src": "667:2:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 97, "name": "ParameterList", "src": "677:0:1" }, { "attributes": { "statements": [ null ] }, "children": [], "id": 98, "name": "Block", "src": "677:7:1" } ], "id": 99, "name": "FunctionDefinition", "src": "651:33:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "initialize", "payable": false, "scope": 373, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_startTime", "scope": 162, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 100, "name": "ElementaryTypeName", "src": "714:7:1" } ], "id": 101, "name": "VariableDeclaration", "src": "714:18:1" }, { "attributes": { "constant": false, "name": "_endTime", "scope": 162, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 102, "name": "ElementaryTypeName", "src": "734:7:1" } ], "id": 103, "name": "VariableDeclaration", "src": "734:16:1" }, { "attributes": { "constant": false, "name": "_cap", "scope": 162, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 104, "name": "ElementaryTypeName", "src": "752:7:1" } ], "id": 105, "name": "VariableDeclaration", "src": "752:12:1" }, { "attributes": { "constant": false, "name": "_vault", "scope": 162, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 106, "name": "ElementaryTypeName", "src": "766:7:1" } ], "id": 107, "name": "VariableDeclaration", "src": "766:14:1" } ], "id": 108, "name": "ParameterList", "src": "713:68:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 111, "name": "ParameterList", "src": "799:0:1" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 498, "type": "modifier ()", "value": "onlyOwner" }, "id": 109, "name": "Identifier", "src": "789:9:1" } ], "id": 110, "name": "ModifierInvocation", "src": "789: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 112, "name": "Identifier", "src": "809: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": 74, "type": "bool", "value": "isInitialized" }, "id": 113, "name": "Identifier", "src": "818:13:1" } ], "id": 114, "name": "UnaryOperation", "src": "817:14:1" } ], "id": 115, "name": "FunctionCall", "src": "809:23:1" } ], "id": 116, "name": "ExpressionStatement", "src": "809: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 117, "name": "Identifier", "src": "842: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": 101, "type": "uint256", "value": "_startTime" }, "id": 118, "name": "Identifier", "src": "850: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": 119, "name": "Literal", "src": "864:1:1" } ], "id": 120, "name": "BinaryOperation", "src": "850:15:1" } ], "id": 121, "name": "FunctionCall", "src": "842:24:1" } ], "id": 122, "name": "ExpressionStatement", "src": "842: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 123, "name": "Identifier", "src": "876: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": 103, "type": "uint256", "value": "_endTime" }, "id": 124, "name": "Identifier", "src": "884: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": 125, "name": "Literal", "src": "896:1:1" } ], "id": 126, "name": "BinaryOperation", "src": "884:13:1" } ], "id": 127, "name": "FunctionCall", "src": "876:22:1" } ], "id": 128, "name": "ExpressionStatement", "src": "876: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 129, "name": "Identifier", "src": "908: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": 105, "type": "uint256", "value": "_cap" }, "id": 130, "name": "Identifier", "src": "916: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": 131, "name": "Literal", "src": "924:1:1" } ], "id": 132, "name": "BinaryOperation", "src": "916:9:1" } ], "id": 133, "name": "FunctionCall", "src": "908:18:1" } ], "id": 134, "name": "ExpressionStatement", "src": "908: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 135, "name": "Identifier", "src": "936: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": 107, "type": "address", "value": "_vault" }, "id": 136, "name": "Identifier", "src": "944: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": 137, "name": "Literal", "src": "954:3:1" } ], "id": 138, "name": "BinaryOperation", "src": "944:13:1" } ], "id": 139, "name": "FunctionCall", "src": "936:22:1" } ], "id": 140, "name": "ExpressionStatement", "src": "936:22:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 65, "type": "uint256", "value": "startTime" }, "id": 141, "name": "Identifier", "src": "968:9:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 101, "type": "uint256", "value": "_startTime" }, "id": 142, "name": "Identifier", "src": "980:10:1" } ], "id": 143, "name": "Assignment", "src": "968:22:1" } ], "id": 144, "name": "ExpressionStatement", "src": "968:22:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 67, "type": "uint256", "value": "endTime" }, "id": 145, "name": "Identifier", "src": "1000:7:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 103, "type": "uint256", "value": "_endTime" }, "id": 146, "name": "Identifier", "src": "1010:8:1" } ], "id": 147, "name": "Assignment", "src": "1000:18:1" } ], "id": 148, "name": "ExpressionStatement", "src": "1000:18:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 69, "type": "uint256", "value": "cap" }, "id": 149, "name": "Identifier", "src": "1028:3:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 105, "type": "uint256", "value": "_cap" }, "id": 150, "name": "Identifier", "src": "1034:4:1" } ], "id": 151, "name": "Assignment", "src": "1028:10:1" } ], "id": 152, "name": "ExpressionStatement", "src": "1028:10:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 74, "type": "bool", "value": "isInitialized" }, "id": 153, "name": "Identifier", "src": "1048:13:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "74727565", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "true" }, "id": 154, "name": "Literal", "src": "1064:4:1" } ], "id": 155, "name": "Assignment", "src": "1048:20:1" } ], "id": 156, "name": "ExpressionStatement", "src": "1048:20:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 88, "type": "address", "value": "vault" }, "id": 157, "name": "Identifier", "src": "1078:5:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 107, "type": "address", "value": "_vault" }, "id": 158, "name": "Identifier", "src": "1086:6:1" } ], "id": 159, "name": "Assignment", "src": "1078:14:1" } ], "id": 160, "name": "ExpressionStatement", "src": "1078:14:1" } ], "id": 161, "name": "Block", "src": "799:300:1" } ], "id": 162, "name": "FunctionDefinition", "src": "694:405:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "buy", "payable": true, "scope": 373, "stateMutability": "payable", "superFunction": null, "visibility": "public" }, "children": [ { "attributes": { "parameters": [ null ] }, "children": [], "id": 163, "name": "ParameterList", "src": "1121:2:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 164, "name": "ParameterList", "src": "1139:0: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 165, "name": "Identifier", "src": "1149:7:1" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 84, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 166, "name": "Identifier", "src": "1157:9:1" }, { "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": 642, "type": "msg", "value": "msg" }, "id": 167, "name": "Identifier", "src": "1167:3:1" } ], "id": 168, "name": "MemberAccess", "src": "1167:10:1" } ], "id": 169, "name": "IndexAccess", "src": "1157:21:1" } ], "id": 170, "name": "FunctionCall", "src": "1149:30:1" } ], "id": 171, "name": "ExpressionStatement", "src": "1149: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 172, "name": "Identifier", "src": "1189: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, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "value", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 642, "type": "msg", "value": "msg" }, "id": 173, "name": "Identifier", "src": "1197:3:1" } ], "id": 174, "name": "MemberAccess", "src": "1197:9: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": 175, "name": "Literal", "src": "1209:1:1" } ], "id": 176, "name": "BinaryOperation", "src": "1197:13:1" } ], "id": 177, "name": "FunctionCall", "src": "1189:22:1" } ], "id": 178, "name": "ExpressionStatement", "src": "1189: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 179, "name": "Identifier", "src": "1221:7:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 74, "type": "bool", "value": "isInitialized" }, "id": 180, "name": "Identifier", "src": "1229:13:1" } ], "id": 181, "name": "FunctionCall", "src": "1221:22:1" } ], "id": 182, "name": "ExpressionStatement", "src": "1221: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 183, "name": "Identifier", "src": "1253:7:1" }, { "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, "overloadedDeclarations": [ null ], "referencedDeclaration": 644, "type": "uint256", "value": "now" }, "id": 184, "name": "Identifier", "src": "1261:3:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 65, "type": "uint256", "value": "startTime" }, "id": 185, "name": "Identifier", "src": "1268:9:1" } ], "id": 186, "name": "BinaryOperation", "src": "1261:16: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": 644, "type": "uint256", "value": "now" }, "id": 187, "name": "Identifier", "src": "1281:3:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 67, "type": "uint256", "value": "endTime" }, "id": 188, "name": "Identifier", "src": "1288:7:1" } ], "id": 189, "name": "BinaryOperation", "src": "1281:14:1" } ], "id": 190, "name": "BinaryOperation", "src": "1261:34:1" } ], "id": 191, "name": "FunctionCall", "src": "1253:43:1" } ], "id": 192, "name": "ExpressionStatement", "src": "1253:43: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 193, "name": "Identifier", "src": "1306: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, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "+", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 76, "type": "uint256", "value": "totalInvestedInWei" }, "id": 194, "name": "Identifier", "src": "1314:18:1" }, { "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": 642, "type": "msg", "value": "msg" }, "id": 195, "name": "Identifier", "src": "1335:3:1" } ], "id": 196, "name": "MemberAccess", "src": "1335:9:1" } ], "id": 197, "name": "BinaryOperation", "src": "1314:30:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 69, "type": "uint256", "value": "cap" }, "id": 198, "name": "Identifier", "src": "1348:3:1" } ], "id": 199, "name": "BinaryOperation", "src": "1314:37:1" } ], "id": 200, "name": "FunctionCall", "src": "1306:46:1" } ], "id": 201, "name": "ExpressionStatement", "src": "1306:46:1" }, { "attributes": { "assignments": [ 203 ] }, "children": [ { "attributes": { "constant": false, "name": "investor", "scope": 225, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 202, "name": "ElementaryTypeName", "src": "1362:7:1" } ], "id": 203, "name": "VariableDeclaration", "src": "1362:16:1" }, { "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": 642, "type": "msg", "value": "msg" }, "id": 204, "name": "Identifier", "src": "1381:3:1" } ], "id": 205, "name": "MemberAccess", "src": "1381:10:1" } ], "id": 206, "name": "VariableDeclarationStatement", "src": "1362:29:1" }, { "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": 80, "type": "mapping(address => uint256)", "value": "investorBalances" }, "id": 207, "name": "Identifier", "src": "1401:16:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 203, "type": "address", "value": "investor" }, "id": 208, "name": "Identifier", "src": "1418:8:1" } ], "id": 209, "name": "IndexAccess", "src": "1401:26:1" }, { "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": 642, "type": "msg", "value": "msg" }, "id": 210, "name": "Identifier", "src": "1431:3:1" } ], "id": 211, "name": "MemberAccess", "src": "1431:9:1" } ], "id": 212, "name": "Assignment", "src": "1401:39:1" } ], "id": 213, "name": "ExpressionStatement", "src": "1401:39:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "+=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 76, "type": "uint256", "value": "totalInvestedInWei" }, "id": 214, "name": "Identifier", "src": "1450:18:1" }, { "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": 642, "type": "msg", "value": "msg" }, "id": 215, "name": "Identifier", "src": "1472:3:1" } ], "id": 216, "name": "MemberAccess", "src": "1472:9:1" } ], "id": 217, "name": "Assignment", "src": "1450:31:1" } ], "id": 218, "name": "ExpressionStatement", "src": "1450:31: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_uint256", "typeString": "uint256" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 237, "type": "function (uint256)", "value": "forwardFunds" }, "id": 219, "name": "Identifier", "src": "1491:12:1" }, { "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": 642, "type": "msg", "value": "msg" }, "id": 220, "name": "Identifier", "src": "1504:3:1" } ], "id": 221, "name": "MemberAccess", "src": "1504:9:1" } ], "id": 222, "name": "FunctionCall", "src": "1491:23:1" } ], "id": 223, "name": "ExpressionStatement", "src": "1491:23:1" } ], "id": 224, "name": "Block", "src": "1139:382:1" } ], "id": 225, "name": "FunctionDefinition", "src": "1109:412:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "forwardFunds", "payable": false, "scope": 373, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_amount", "scope": 237, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 226, "name": "ElementaryTypeName", "src": "1558:7:1" } ], "id": 227, "name": "VariableDeclaration", "src": "1558:15:1" } ], "id": 228, "name": "ParameterList", "src": "1557:17:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 229, "name": "ParameterList", "src": "1584:0: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_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": 472, "type": "address", "value": "owner" }, "id": 230, "name": "Identifier", "src": "1594:5:1" } ], "id": 232, "name": "MemberAccess", "src": "1594:14:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 227, "type": "uint256", "value": "_amount" }, "id": 233, "name": "Identifier", "src": "1609:7:1" } ], "id": 234, "name": "FunctionCall", "src": "1594:23:1" } ], "id": 235, "name": "ExpressionStatement", "src": "1594:23:1" } ], "id": 236, "name": "Block", "src": "1584:40:1" } ], "id": 237, "name": "FunctionDefinition", "src": "1536:88:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "claimTokens", "payable": false, "scope": 373, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_token", "scope": 278, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 238, "name": "ElementaryTypeName", "src": "1655:7:1" } ], "id": 239, "name": "VariableDeclaration", "src": "1655:14:1" } ], "id": 240, "name": "ParameterList", "src": "1654:16:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 243, "name": "ParameterList", "src": "1688:0:1" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 498, "type": "modifier ()", "value": "onlyOwner" }, "id": 241, "name": "Identifier", "src": "1678:9:1" } ], "id": 242, "name": "ModifierInvocation", "src": "1678:9:1" }, { "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": 239, "type": "address", "value": "_token" }, "id": 244, "name": "Identifier", "src": "1702: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": 245, "name": "Literal", "src": "1712:3:1" } ], "id": 246, "name": "BinaryOperation", "src": "1702:13: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_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": 472, "type": "address", "value": "owner" }, "id": 247, "name": "Identifier", "src": "1731:5:1" } ], "id": 249, "name": "MemberAccess", "src": "1731:14:1" }, { "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": 663, "type": "contract Presale", "value": "this" }, "id": 250, "name": "Identifier", "src": "1746:4:1" } ], "id": 251, "name": "MemberAccess", "src": "1746:12:1" } ], "id": 252, "name": "FunctionCall", "src": "1731:28:1" } ], "id": 253, "name": "ExpressionStatement", "src": "1731:28:1" }, { "attributes": { "expression": null, "functionReturnParameters": 243 }, "id": 254, "name": "Return", "src": "1773:7:1" } ], "id": 255, "name": "Block", "src": "1717:73:1" } ], "id": 256, "name": "IfStatement", "src": "1698:92:1" }, { "attributes": { "assignments": [ 258 ] }, "children": [ { "attributes": { "constant": false, "name": "token", "scope": 278, "stateVariable": false, "storageLocation": "default", "type": "contract BasicToken", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "contractScope": null, "name": "BasicToken", "referencedDeclaration": 601, "type": "contract BasicToken" }, "id": 257, "name": "UserDefinedTypeName", "src": "1804:10:1" } ], "id": 258, "name": "VariableDeclaration", "src": "1804:16:1" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "contract BasicToken", "type_conversion": true }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 601, "type": "type(contract BasicToken)", "value": "BasicToken" }, "id": 259, "name": "Identifier", "src": "1823:10:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 239, "type": "address", "value": "_token" }, "id": 260, "name": "Identifier", "src": "1834:6:1" } ], "id": 261, "name": "FunctionCall", "src": "1823:18:1" } ], "id": 262, "name": "VariableDeclarationStatement", "src": "1804:37:1" }, { "attributes": { "assignments": [ 264 ] }, "children": [ { "attributes": { "constant": false, "name": "balance", "scope": 278, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint256", "type": "uint256" }, "id": 263, "name": "ElementaryTypeName", "src": "1851:7:1" } ], "id": 264, "name": "VariableDeclaration", "src": "1851:15:1" }, { "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$_Presale_$373", "typeString": "contract Presale" } ], "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "balanceOf", "referencedDeclaration": 600, "type": "function (address) view external returns (uint256)" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 258, "type": "contract BasicToken", "value": "token" }, "id": 265, "name": "Identifier", "src": "1869:5:1" } ], "id": 266, "name": "MemberAccess", "src": "1869:15:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 663, "type": "contract Presale", "value": "this" }, "id": 267, "name": "Identifier", "src": "1885:4:1" } ], "id": 268, "name": "FunctionCall", "src": "1869:21:1" } ], "id": 269, "name": "VariableDeclarationStatement", "src": "1851:39:1" }, { "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": 588, "type": "function (address,uint256) external returns (bool)" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 258, "type": "contract BasicToken", "value": "token" }, "id": 270, "name": "Identifier", "src": "1900:5:1" } ], "id": 272, "name": "MemberAccess", "src": "1900:14:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 472, "type": "address", "value": "owner" }, "id": 273, "name": "Identifier", "src": "1915:5:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 264, "type": "uint256", "value": "balance" }, "id": 274, "name": "Identifier", "src": "1922:7:1" } ], "id": 275, "name": "FunctionCall", "src": "1900:30:1" } ], "id": 276, "name": "ExpressionStatement", "src": "1900:30:1" } ], "id": 277, "name": "Block", "src": "1688:249:1" } ], "id": 278, "name": "FunctionDefinition", "src": "1634:303:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "whitelistInvestor", "payable": false, "scope": 373, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_newInvestor", "scope": 301, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 279, "name": "ElementaryTypeName", "src": "1970:7:1" } ], "id": 280, "name": "VariableDeclaration", "src": "1970:20:1" } ], "id": 281, "name": "ParameterList", "src": "1969:22:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 284, "name": "ParameterList", "src": "2009:0:1" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 498, "type": "modifier ()", "value": "onlyOwner" }, "id": 282, "name": "Identifier", "src": "1999:9:1" } ], "id": 283, "name": "ModifierInvocation", "src": "1999:9:1" }, { "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": 84, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 285, "name": "Identifier", "src": "2023:9:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 280, "type": "address", "value": "_newInvestor" }, "id": 286, "name": "Identifier", "src": "2033:12:1" } ], "id": 287, "name": "IndexAccess", "src": "2023:23:1" } ], "id": 288, "name": "UnaryOperation", "src": "2022:24:1" }, { "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": 84, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 289, "name": "Identifier", "src": "2062:9:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 280, "type": "address", "value": "_newInvestor" }, "id": 290, "name": "Identifier", "src": "2072:12:1" } ], "id": 291, "name": "IndexAccess", "src": "2062:23:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "74727565", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "true" }, "id": 292, "name": "Literal", "src": "2088:4:1" } ], "id": 293, "name": "Assignment", "src": "2062:30:1" } ], "id": 294, "name": "ExpressionStatement", "src": "2062:30:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "++", "prefix": false, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 86, "type": "uint256", "value": "investorsLength" }, "id": 295, "name": "Identifier", "src": "2106:15:1" } ], "id": 296, "name": "UnaryOperation", "src": "2106:17:1" } ], "id": 297, "name": "ExpressionStatement", "src": "2106:17:1" } ], "id": 298, "name": "Block", "src": "2048:86:1" } ], "id": 299, "name": "IfStatement", "src": "2019:115:1" } ], "id": 300, "name": "Block", "src": "2009:131:1" } ], "id": 301, "name": "FunctionDefinition", "src": "1943:197:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "whitelistInvestors", "payable": false, "scope": 373, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_investors", "scope": 351, "stateVariable": false, "storageLocation": "default", "type": "address[] memory", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "length": null, "type": "address[] storage pointer" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 302, "name": "ElementaryTypeName", "src": "2173:7:1" } ], "id": 303, "name": "ArrayTypeName", "src": "2173:9:1" } ], "id": 304, "name": "VariableDeclaration", "src": "2173:20:1" } ], "id": 305, "name": "ParameterList", "src": "2172:22:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 308, "name": "ParameterList", "src": "2212:0:1" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 498, "type": "modifier ()", "value": "onlyOwner" }, "id": 306, "name": "Identifier", "src": "2202:9:1" } ], "id": 307, "name": "ModifierInvocation", "src": "2202: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": 645, "type": "function (bool) pure", "value": "require" }, "id": 309, "name": "Identifier", "src": "2222: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, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "length", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 304, "type": "address[] memory", "value": "_investors" }, "id": 310, "name": "Identifier", "src": "2230:10:1" } ], "id": 311, "name": "MemberAccess", "src": "2230:17:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "323530", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", "type": "int_const 250", "value": "250" }, "id": 312, "name": "Literal", "src": "2251:3:1" } ], "id": 313, "name": "BinaryOperation", "src": "2230:24:1" } ], "id": 314, "name": "FunctionCall", "src": "2222:33:1" } ], "id": 315, "name": "ExpressionStatement", "src": "2222:33:1" }, { "children": [ { "attributes": { "assignments": [ 317 ] }, "children": [ { "attributes": { "constant": false, "name": "i", "scope": 351, "stateVariable": false, "storageLocation": "default", "type": "uint8", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint8", "type": "uint8" }, "id": 316, "name": "ElementaryTypeName", "src": "2269:5:1" } ], "id": 317, "name": "VariableDeclaration", "src": "2269:7: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": 318, "name": "Literal", "src": "2277:1:1" } ], "id": 319, "name": "VariableDeclarationStatement", "src": "2269:9: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": 317, "type": "uint8", "value": "i" }, "id": 320, "name": "Identifier", "src": "2280:1:1" }, { "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": 304, "type": "address[] memory", "value": "_investors" }, "id": 321, "name": "Identifier", "src": "2282:10:1" } ], "id": 322, "name": "MemberAccess", "src": "2282:17:1" } ], "id": 323, "name": "BinaryOperation", "src": "2280:19:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "++", "prefix": false, "type": "uint8" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 317, "type": "uint8", "value": "i" }, "id": 324, "name": "Identifier", "src": "2300:1:1" } ], "id": 325, "name": "UnaryOperation", "src": "2300:3:1" } ], "id": 326, "name": "ExpressionStatement", "src": "2300:3:1" }, { "children": [ { "attributes": { "assignments": [ 328 ] }, "children": [ { "attributes": { "constant": false, "name": "newInvestor", "scope": 351, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 327, "name": "ElementaryTypeName", "src": "2319:7:1" } ], "id": 328, "name": "VariableDeclaration", "src": "2319:19:1" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 304, "type": "address[] memory", "value": "_investors" }, "id": 329, "name": "Identifier", "src": "2341:10:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 317, "type": "uint8", "value": "i" }, "id": 330, "name": "Identifier", "src": "2352:1:1" } ], "id": 331, "name": "IndexAccess", "src": "2341:13:1" } ], "id": 332, "name": "VariableDeclarationStatement", "src": "2319:35:1" }, { "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": 84, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 333, "name": "Identifier", "src": "2372:9:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 328, "type": "address", "value": "newInvestor" }, "id": 334, "name": "Identifier", "src": "2382:11:1" } ], "id": 335, "name": "IndexAccess", "src": "2372:22:1" } ], "id": 336, "name": "UnaryOperation", "src": "2371:23:1" }, { "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": 84, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 337, "name": "Identifier", "src": "2414:9:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 328, "type": "address", "value": "newInvestor" }, "id": 338, "name": "Identifier", "src": "2424:11:1" } ], "id": 339, "name": "IndexAccess", "src": "2414:22:1" }, { "attributes": { "argumentTypes": null, "hexvalue": "74727565", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "bool", "type": "bool", "value": "true" }, "id": 340, "name": "Literal", "src": "2439:4:1" } ], "id": 341, "name": "Assignment", "src": "2414:29:1" } ], "id": 342, "name": "ExpressionStatement", "src": "2414:29:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "++", "prefix": false, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 86, "type": "uint256", "value": "investorsLength" }, "id": 343, "name": "Identifier", "src": "2461:15:1" } ], "id": 344, "name": "UnaryOperation", "src": "2461:17:1" } ], "id": 345, "name": "ExpressionStatement", "src": "2461:17:1" } ], "id": 346, "name": "Block", "src": "2396:97:1" } ], "id": 347, "name": "IfStatement", "src": "2368:125:1" } ], "id": 348, "name": "Block", "src": "2305:198:1" } ], "id": 349, "name": "ForStatement", "src": "2265:238:1" } ], "id": 350, "name": "Block", "src": "2212:297:1" } ], "id": 351, "name": "FunctionDefinition", "src": "2145:364:1" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "name": "blacklistInvestor", "payable": false, "scope": 373, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "_investor", "scope": 372, "stateVariable": false, "storageLocation": "default", "type": "address", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 352, "name": "ElementaryTypeName", "src": "2541:7:1" } ], "id": 353, "name": "VariableDeclaration", "src": "2541:17:1" } ], "id": 354, "name": "ParameterList", "src": "2540:19:1" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 357, "name": "ParameterList", "src": "2577:0:1" }, { "attributes": { "arguments": [ null ] }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 498, "type": "modifier ()", "value": "onlyOwner" }, "id": 355, "name": "Identifier", "src": "2567:9:1" } ], "id": 356, "name": "ModifierInvocation", "src": "2567:9:1" }, { "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": 84, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 358, "name": "Identifier", "src": "2590:9:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 353, "type": "address", "value": "_investor" }, "id": 359, "name": "Identifier", "src": "2600:9:1" } ], "id": 360, "name": "IndexAccess", "src": "2590:20:1" }, { "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": 84, "type": "mapping(address => bool)", "value": "whitelist" }, "id": 361, "name": "Identifier", "src": "2633:9:1" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 353, "type": "address", "value": "_investor" }, "id": 362, "name": "Identifier", "src": "2643:9:1" } ], "id": 363, "name": "IndexAccess", "src": "2633:20:1" } ], "id": 364, "name": "UnaryOperation", "src": "2626:27:1" } ], "id": 365, "name": "ExpressionStatement", "src": "2626:27:1" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "--", "prefix": false, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 86, "type": "uint256", "value": "investorsLength" }, "id": 366, "name": "Identifier", "src": "2667:15:1" } ], "id": 367, "name": "UnaryOperation", "src": "2667:17:1" } ], "id": 368, "name": "ExpressionStatement", "src": "2667:17:1" } ], "id": 369, "name": "Block", "src": "2612:83:1" } ], "id": 370, "name": "IfStatement", "src": "2587:108:1" } ], "id": 371, "name": "Block", "src": "2577:124:1" } ], "id": 372, "name": "FunctionDefinition", "src": "2514:187:1" } ], "id": 373, "name": "ContractDefinition", "src": "202:2501:1" } ], "id": 374, "name": "SourceUnit", "src": "0:2703:1" }, "compiler": { "name": "solc", "version": "0.4.18+commit.9cf6e910.Emscripten.clang" }, "networks": {}, "schemaVersion": "1.0.1", "updatedAt": "2017-11-10T01:08:29.866Z" }