oracles-presale/build/contracts/Presale.json

4675 lines
201 KiB
JSON

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