oracles-presale/build/contracts/PresaleOracles.json

5027 lines
217 KiB
JSON

{
"contractName": "PresaleOracles",
"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": "Presale",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_investors",
"type": "address[]"
}
],
"name": "whitelistInvestors",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "investorsLength",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "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"
},
{
"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": "0x60606040526000600560006101000a81548160ff021916908315150217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061109b8061006e6000396000f300606060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631f8d519d146101115780632c4e722e146101655780633197cbb61461018e578063355274ea146101b7578063392e53cd146101e05780635036d6101461020d5780635613680a14610222578063594337a91461025057806378e97925146102795780638da5cb5b146102a25780639b19251a146102f7578063a6f2ae3a14610348578063b29a61c114610352578063c430bcda1461039f578063df8de3e7146103d8578063f117c92414610411578063f2fde38b1461043a578063fbfa77cf14610473578063ffc1b038146104c8575b61010f610501565b005b341561011c57600080fd5b610163600480803590602001909190803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610633565b005b341561017057600080fd5b610178610785565b6040518082815260200191505060405180910390f35b341561019957600080fd5b6101a161078b565b6040518082815260200191505060405180910390f35b34156101c257600080fd5b6101ca610791565b6040518082815260200191505060405180910390f35b34156101eb57600080fd5b6101f3610797565b604051808215151515815260200191505060405180910390f35b341561021857600080fd5b6102206107aa565b005b341561022d57600080fd5b61024e600480803590602001908201803590602001919091929050506107ac565b005b341561025b57600080fd5b610263610931565b6040518082815260200191505060405180910390f35b341561028457600080fd5b61028c610937565b6040518082815260200191505060405180910390f35b34156102ad57600080fd5b6102b561093d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030257600080fd5b61032e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610962565b604051808215151515815260200191505060405180910390f35b610350610501565b005b341561035d57600080fd5b610389600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610982565b6040518082815260200191505060405180910390f35b34156103aa57600080fd5b6103d6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061099a565b005b34156103e357600080fd5b61040f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ab6565b005b341561041c57600080fd5b610424610d61565b6040518082815260200191505060405180910390f35b341561044557600080fd5b610471600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d67565b005b341561047e57600080fd5b610486610ebc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104d357600080fd5b6104ff600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ee2565b005b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561055b57600080fd5b60003411151561056a57600080fd5b600560009054906101000a900460ff16151561058557600080fd5b600154610590611002565b101580156105a757506002546105a4611002565b11155b15156105b257600080fd5b6003543460065401111515156105c757600080fd5b33905034600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550346006600082825401925050819055506106303461100a565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561068e57600080fd5b600560009054906101000a900460ff161515156106aa57600080fd5b600084141515156106ba57600080fd5b600083141515156106ca57600080fd5b83831115156106d857600080fd5b600082141515156106e857600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff161415151561070e57600080fd5b8360018190555082600281905550816003819055506001600560006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b60025481565b60035481565b600560009054906101000a900460ff1681565b565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080a57600080fd5b60fa848490501115151561081d57600080fd5b600091505b838390508260ff16101561092b5783838360ff16818110151561084157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff169050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561091e576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b8180600101925050610822565b50505050565b60095481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f557600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610ab3576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b50565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b1457600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415610bb0576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515610bab57600080fd5b610d5c565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610c5657600080fd5b6102c65a03f11515610c6757600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610d3f57600080fd5b6102c65a03f11515610d5057600080fd5b50505060405180519050505b505050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dc257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dfe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3d57600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fff57600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690556000600954141515610ffe57600960008154809291906001900391905055505b5b50565b600042905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561106c57600080fd5b505600a165627a7a7230582073d9da4a2102e1983e2851a9b281c01532e74e535c7e0864a331b97301f5f20c0029",
"deployedBytecode": "0x606060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631f8d519d146101115780632c4e722e146101655780633197cbb61461018e578063355274ea146101b7578063392e53cd146101e05780635036d6101461020d5780635613680a14610222578063594337a91461025057806378e97925146102795780638da5cb5b146102a25780639b19251a146102f7578063a6f2ae3a14610348578063b29a61c114610352578063c430bcda1461039f578063df8de3e7146103d8578063f117c92414610411578063f2fde38b1461043a578063fbfa77cf14610473578063ffc1b038146104c8575b61010f610501565b005b341561011c57600080fd5b610163600480803590602001909190803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610633565b005b341561017057600080fd5b610178610785565b6040518082815260200191505060405180910390f35b341561019957600080fd5b6101a161078b565b6040518082815260200191505060405180910390f35b34156101c257600080fd5b6101ca610791565b6040518082815260200191505060405180910390f35b34156101eb57600080fd5b6101f3610797565b604051808215151515815260200191505060405180910390f35b341561021857600080fd5b6102206107aa565b005b341561022d57600080fd5b61024e600480803590602001908201803590602001919091929050506107ac565b005b341561025b57600080fd5b610263610931565b6040518082815260200191505060405180910390f35b341561028457600080fd5b61028c610937565b6040518082815260200191505060405180910390f35b34156102ad57600080fd5b6102b561093d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030257600080fd5b61032e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610962565b604051808215151515815260200191505060405180910390f35b610350610501565b005b341561035d57600080fd5b610389600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610982565b6040518082815260200191505060405180910390f35b34156103aa57600080fd5b6103d6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061099a565b005b34156103e357600080fd5b61040f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ab6565b005b341561041c57600080fd5b610424610d61565b6040518082815260200191505060405180910390f35b341561044557600080fd5b610471600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d67565b005b341561047e57600080fd5b610486610ebc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104d357600080fd5b6104ff600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ee2565b005b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561055b57600080fd5b60003411151561056a57600080fd5b600560009054906101000a900460ff16151561058557600080fd5b600154610590611002565b101580156105a757506002546105a4611002565b11155b15156105b257600080fd5b6003543460065401111515156105c757600080fd5b33905034600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550346006600082825401925050819055506106303461100a565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561068e57600080fd5b600560009054906101000a900460ff161515156106aa57600080fd5b600084141515156106ba57600080fd5b600083141515156106ca57600080fd5b83831115156106d857600080fd5b600082141515156106e857600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff161415151561070e57600080fd5b8360018190555082600281905550816003819055506001600560006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60045481565b60025481565b60035481565b600560009054906101000a900460ff1681565b565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080a57600080fd5b60fa848490501115151561081d57600080fd5b600091505b838390508260ff16101561092b5783838360ff16818110151561084157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff169050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561091e576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b8180600101925050610822565b50505050565b60095481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f557600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610ab3576001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009600081548092919060010191905055505b50565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b1457600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415610bb0576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515610bab57600080fd5b610d5c565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610c5657600080fd5b6102c65a03f11515610c6757600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610d3f57600080fd5b6102c65a03f11515610d5057600080fd5b50505060405180519050505b505050565b60065481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dc257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610dfe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3d57600080fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fff57600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690556000600954141515610ffe57600960008154809291906001900391905055505b5b50565b600042905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561106c57600080fd5b505600a165627a7a7230582073d9da4a2102e1983e2851a9b281c01532e74e535c7e0864a331b97301f5f20c0029",
"sourceMap": "202:2818:0:-;;;378:5;350:33;;;;;;;;;;;;;;;;;;;;502:10:2;494:5;;:18;;;;;;;;;;;;;;;;;;202:2818:0;;;;;;",
"deployedSourceMap": "202:2818:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;660:5;:3;:5::i;:::-;202:2818;771:445;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;325:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;273:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;301:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;350:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705;;;;;;;;;;;;;;2320:366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;532:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;243:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;485:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1249:424;;;;;;428:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2118:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;1809:303;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:169:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;568:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2691:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;1249:424;1514:16;1297:9;:21;1307:10;1297:21;;;;;;;;;;;;;;;;;;;;;;;;;1289:30;;;;;;;;1349:1;1337:9;:13;1329:22;;;;;;;;1369:13;;;;;;;;;;;1361:22;;;;;;;;1414:9;;1401;:7;:9::i;:::-;:22;;:46;;;;;1440:7;;1427:9;:7;:9::i;:::-;:20;;1401:46;1393:55;;;;;;;;1500:3;;1487:9;1466:18;;:30;:37;;1458:46;;;;;;;;1533:10;1514:29;;1583:9;1553:16;:26;1570:8;1553:26;;;;;;;;;;;;;;;;:39;;;;;;;;;;;1624:9;1602:18;;:31;;;;;;;;;;;1643:23;1656:9;1643:12;:23::i;:::-;1249:424;:::o;771:445::-;647:5:2;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;895:13:0;;;;;;;;;;;894:14;886:23;;;;;;;;941:1;927:10;:15;;919:24;;;;;;;;973:1;961:8;:13;;953:22;;;;;;;;1004:10;993:8;:21;985:30;;;;;;;;1041:1;1033:4;:9;;1025:18;;;;;;;;1071:3;1061:6;:13;;;;1053:22;;;;;;;;1097:10;1085:9;:22;;;;1127:8;1117:7;:18;;;;1151:4;1145:3;:10;;;;1181:4;1165:13;;:20;;;;;;;;;;;;;;;;;;1203:6;1195:5;;:14;;;;;;;;;;;;;;;;;;771:445;;;;:::o;325:19::-;;;;:::o;273:22::-;;;;:::o;301:18::-;;;;:::o;350:33::-;;;;;;;;;;;;;:::o;705:::-;:::o;2320:366::-;2446:7;2496:19;647:5:2;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;2428:3:0;2407:10;;:17;;:24;;2399:33;;;;;;;;2454:1;2446:9;;2442:238;2459:10;;:17;;2457:1;:19;;;2442:238;;;2518:10;;2529:1;2518:13;;;;;;;;;;;;;;;;;;;2496:35;;2549:9;:22;2559:11;2549:22;;;;;;;;;;;;;;;;;;;;;;;;;2548:23;2545:125;;;2616:4;2591:9;:22;2601:11;2591:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;2638:15;;:17;;;;;;;;;;;;;2545:125;2477:3;;;;;;;2442:238;;;2320:366;;;;:::o;532:30::-;;;;:::o;243:24::-;;;;:::o;238:20:2:-;;;;;;;;;;;;;:::o;485:41:0:-;;;;;;;;;;;;;;;;;;;;;;:::o;428:51::-;;;;;;;;;;;;;;;;;:::o;2118:197::-;647:5:2;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;2198:9:0;:23;2208:12;2198:23;;;;;;;;;;;;;;;;;;;;;;;;;2197:24;2194:115;;;2263:4;2237:9;:23;2247:12;2237:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;2281:15;;:17;;;;;;;;;;;;;2194:115;2118:197;:::o;1809:303::-;1979:16;2026:15;647:5:2;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;1887:3:0;1877:6;:13;;;1873:92;;;1906:5;;;;;;;;;;;:14;;:28;1921:4;:12;;;1906:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1948:7;;1873:92;2009:6;1979:37;;2044:5;:15;;;2060:4;2044:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2026:39;;2075:5;:14;;;2090:5;;;;;;;;;;;2097:7;2075:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;659:1:2;1809:303:0;;;:::o;389:33::-;;;;:::o;827:169:2:-;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;568:20:0:-;;;;;;;;;;;;;:::o;2691:244::-;647:5:2;;;;;;;;;;;633:19;;:10;:19;;;625:28;;;;;;;;2767:9:0;:20;2777:9;2767:20;;;;;;;;;;;;;;;;;;;;;;;;;2764:165;;;2810:9;:20;2820:9;2810:20;;;;;;;;;;;;;;;;2803:27;;;;;;;;;;;2866:1;2847:15;;:20;;2844:75;;;2887:15;;:17;;;;;;;;;;;;;;2844:75;2764:165;2691:244;:::o;2941:77::-;2982:7;3008:3;3001:10;;2941:77;:::o;1711:88::-;1769:5;;;;;;;;;;;:14;;:23;1784:7;1769:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1711: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 PresaleOracles 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 // TESTED by Roman Storm\n function () public payable {\n buy();\n }\n //TESTED by Roman Storm\n function Presale() public {\n }\n //TESTED by Roman Storm\n function initialize(uint256 _startTime, uint256 _endTime, uint256 _cap, address _vault) public onlyOwner {\n require(!isInitialized);\n require(_startTime != 0);\n require(_endTime != 0);\n require(_endTime > _startTime);\n require(_cap != 0);\n require(_vault != 0x0);\n startTime = _startTime;\n endTime = _endTime;\n cap = _cap;\n isInitialized = true;\n vault = _vault;\n }\n //TESTED by Roman Storm\n function buy() public payable {\n require(whitelist[msg.sender]);\n require(msg.value > 0);\n require(isInitialized);\n require(getTime() >= startTime && getTime() <= 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 //TESTED by Roman Storm\n function forwardFunds(uint256 _amount) internal {\n vault.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) external onlyOwner {\n require(_investors.length <= 250);\n for(uint8 i=0; i<_investors.length;i++) {\n address newInvestor = _investors[i];\n if(!whitelist[newInvestor]) {\n whitelist[newInvestor] = true;\n investorsLength++;\n }\n }\n }\n function blacklistInvestor(address _investor) public onlyOwner {\n if(whitelist[_investor]) {\n delete whitelist[_investor];\n if(investorsLength != 0) {\n investorsLength--;\n }\n }\n }\n\n function getTime() internal view returns(uint256) {\n return now;\n }\n}",
"sourcePath": "/Users/rstorm/repos/presale-oracles/contracts/PresaleOracles.sol",
"ast": {
"attributes": {
"absolutePath": "/Users/rstorm/repos/presale-oracles/contracts/PresaleOracles.sol",
"exportedSymbols": {
"PresaleOracles": [
337
]
}
},
"children": [
{
"attributes": {
"SourceUnit": 433,
"absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol",
"file": "zeppelin-solidity/contracts/math/SafeMath.sol",
"scope": 338,
"symbolAliases": [
null
],
"unitAlias": ""
},
"id": 1,
"name": "ImportDirective",
"src": "0:55:0"
},
{
"attributes": {
"SourceUnit": 566,
"absolutePath": "zeppelin-solidity/contracts/token/BasicToken.sol",
"file": "zeppelin-solidity/contracts/token/BasicToken.sol",
"scope": 338,
"symbolAliases": [
null
],
"unitAlias": ""
},
"id": 2,
"name": "ImportDirective",
"src": "56:58:0"
},
{
"attributes": {
"SourceUnit": 489,
"absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol",
"file": "zeppelin-solidity/contracts/ownership/Ownable.sol",
"scope": 338,
"symbolAliases": [
null
],
"unitAlias": ""
},
"id": 3,
"name": "ImportDirective",
"src": "115:59:0"
},
{
"attributes": {
"literals": [
"solidity",
"^",
"0.4",
".17"
]
},
"id": 4,
"name": "PragmaDirective",
"src": "176:24:0"
},
{
"attributes": {
"contractDependencies": [
488
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"linearizedBaseContracts": [
337,
488
],
"name": "PresaleOracles",
"scope": 338
},
"children": [
{
"attributes": {
"arguments": [
null
]
},
"children": [
{
"attributes": {
"contractScope": null,
"name": "Ownable",
"referencedDeclaration": 488,
"type": "contract Ownable"
},
"id": 5,
"name": "UserDefinedTypeName",
"src": "229:7:0"
}
],
"id": 6,
"name": "InheritanceSpecifier",
"src": "229:7:0"
},
{
"attributes": {
"constant": false,
"name": "startTime",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 7,
"name": "ElementaryTypeName",
"src": "243:7:0"
}
],
"id": 8,
"name": "VariableDeclaration",
"src": "243:24:0"
},
{
"attributes": {
"constant": false,
"name": "endTime",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 9,
"name": "ElementaryTypeName",
"src": "273:7:0"
}
],
"id": 10,
"name": "VariableDeclaration",
"src": "273:22:0"
},
{
"attributes": {
"constant": false,
"name": "cap",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 11,
"name": "ElementaryTypeName",
"src": "301:7:0"
}
],
"id": 12,
"name": "VariableDeclaration",
"src": "301:18:0"
},
{
"attributes": {
"constant": false,
"name": "rate",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 13,
"name": "ElementaryTypeName",
"src": "325:7:0"
}
],
"id": 14,
"name": "VariableDeclaration",
"src": "325:19:0"
},
{
"attributes": {
"constant": false,
"name": "isInitialized",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "bool",
"visibility": "public"
},
"children": [
{
"attributes": {
"name": "bool",
"type": "bool"
},
"id": 15,
"name": "ElementaryTypeName",
"src": "350:4:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "66616c7365",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "bool",
"type": "bool",
"value": "false"
},
"id": 16,
"name": "Literal",
"src": "378:5:0"
}
],
"id": 17,
"name": "VariableDeclaration",
"src": "350:33:0"
},
{
"attributes": {
"constant": false,
"name": "totalInvestedInWei",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 18,
"name": "ElementaryTypeName",
"src": "389:7:0"
}
],
"id": 19,
"name": "VariableDeclaration",
"src": "389:33:0"
},
{
"attributes": {
"constant": false,
"name": "investorBalances",
"scope": 337,
"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": 20,
"name": "ElementaryTypeName",
"src": "436:7:0"
},
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 21,
"name": "ElementaryTypeName",
"src": "447:7:0"
}
],
"id": 22,
"name": "Mapping",
"src": "428:27:0"
}
],
"id": 23,
"name": "VariableDeclaration",
"src": "428:51:0"
},
{
"attributes": {
"constant": false,
"name": "whitelist",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "mapping(address => bool)",
"value": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"type": "mapping(address => bool)"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 24,
"name": "ElementaryTypeName",
"src": "493:7:0"
},
{
"attributes": {
"name": "bool",
"type": "bool"
},
"id": 25,
"name": "ElementaryTypeName",
"src": "504:4:0"
}
],
"id": 26,
"name": "Mapping",
"src": "485:24:0"
}
],
"id": 27,
"name": "VariableDeclaration",
"src": "485:41:0"
},
{
"attributes": {
"constant": false,
"name": "investorsLength",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 28,
"name": "ElementaryTypeName",
"src": "532:7:0"
}
],
"id": 29,
"name": "VariableDeclaration",
"src": "532:30:0"
},
{
"attributes": {
"constant": false,
"name": "vault",
"scope": 337,
"stateVariable": true,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 30,
"name": "ElementaryTypeName",
"src": "568:7:0"
}
],
"id": 31,
"name": "VariableDeclaration",
"src": "568:20:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"modifiers": [
null
],
"name": "",
"payable": true,
"scope": 337,
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 32,
"name": "ParameterList",
"src": "632:2:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 33,
"name": "ParameterList",
"src": "650:0:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"arguments": [
null
],
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
null
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 176,
"type": "function ()",
"value": "buy"
},
"id": 34,
"name": "Identifier",
"src": "660:3:0"
}
],
"id": 35,
"name": "FunctionCall",
"src": "660:5:0"
}
],
"id": 36,
"name": "ExpressionStatement",
"src": "660:5:0"
}
],
"id": 37,
"name": "Block",
"src": "650:22:0"
}
],
"id": 38,
"name": "FunctionDefinition",
"src": "623:49:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"modifiers": [
null
],
"name": "Presale",
"payable": false,
"scope": 337,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 39,
"name": "ParameterList",
"src": "721:2:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 40,
"name": "ParameterList",
"src": "731:0:0"
},
{
"attributes": {
"statements": [
null
]
},
"children": [],
"id": 41,
"name": "Block",
"src": "731:7:0"
}
],
"id": 42,
"name": "FunctionDefinition",
"src": "705:33:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"name": "initialize",
"payable": false,
"scope": 337,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "_startTime",
"scope": 111,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 43,
"name": "ElementaryTypeName",
"src": "791:7:0"
}
],
"id": 44,
"name": "VariableDeclaration",
"src": "791:18:0"
},
{
"attributes": {
"constant": false,
"name": "_endTime",
"scope": 111,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 45,
"name": "ElementaryTypeName",
"src": "811:7:0"
}
],
"id": 46,
"name": "VariableDeclaration",
"src": "811:16:0"
},
{
"attributes": {
"constant": false,
"name": "_cap",
"scope": 111,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 47,
"name": "ElementaryTypeName",
"src": "829:7:0"
}
],
"id": 48,
"name": "VariableDeclaration",
"src": "829:12:0"
},
{
"attributes": {
"constant": false,
"name": "_vault",
"scope": 111,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 49,
"name": "ElementaryTypeName",
"src": "843:7:0"
}
],
"id": 50,
"name": "VariableDeclaration",
"src": "843:14:0"
}
],
"id": 51,
"name": "ParameterList",
"src": "790:68:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 54,
"name": "ParameterList",
"src": "876:0:0"
},
{
"attributes": {
"arguments": [
null
]
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 462,
"type": "modifier ()",
"value": "onlyOwner"
},
"id": 52,
"name": "Identifier",
"src": "866:9:0"
}
],
"id": 53,
"name": "ModifierInvocation",
"src": "866:9:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 55,
"name": "Identifier",
"src": "886:7:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "!",
"prefix": true,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 17,
"type": "bool",
"value": "isInitialized"
},
"id": 56,
"name": "Identifier",
"src": "895:13:0"
}
],
"id": 57,
"name": "UnaryOperation",
"src": "894:14:0"
}
],
"id": 58,
"name": "FunctionCall",
"src": "886:23:0"
}
],
"id": 59,
"name": "ExpressionStatement",
"src": "886:23:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 60,
"name": "Identifier",
"src": "919:7:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "!=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 44,
"type": "uint256",
"value": "_startTime"
},
"id": 61,
"name": "Identifier",
"src": "927:10:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "30",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0"
},
"id": 62,
"name": "Literal",
"src": "941:1:0"
}
],
"id": 63,
"name": "BinaryOperation",
"src": "927:15:0"
}
],
"id": 64,
"name": "FunctionCall",
"src": "919:24:0"
}
],
"id": 65,
"name": "ExpressionStatement",
"src": "919:24:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 66,
"name": "Identifier",
"src": "953:7:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "!=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 46,
"type": "uint256",
"value": "_endTime"
},
"id": 67,
"name": "Identifier",
"src": "961:8:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "30",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0"
},
"id": 68,
"name": "Literal",
"src": "973:1:0"
}
],
"id": 69,
"name": "BinaryOperation",
"src": "961:13:0"
}
],
"id": 70,
"name": "FunctionCall",
"src": "953:22:0"
}
],
"id": 71,
"name": "ExpressionStatement",
"src": "953:22:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 72,
"name": "Identifier",
"src": "985:7:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": ">",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 46,
"type": "uint256",
"value": "_endTime"
},
"id": 73,
"name": "Identifier",
"src": "993:8:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "30",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "uint256",
"value": "_startTime",
"overloadedDeclarations": [
null
],
"referencedDeclaration": 44
},
"id": 74,
"name": "Identifier",
"src": "1004:10:0"
}
],
"id": 75,
"name": "BinaryOperation",
"src": "993:21:0"
}
],
"id": 76,
"name": "FunctionCall",
"src": "985:30:0"
}
],
"id": 77,
"name": "ExpressionStatement",
"src": "985:30:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 78,
"name": "Identifier",
"src": "1025:7:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "!=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 48,
"type": "uint256",
"value": "_cap"
},
"id": 79,
"name": "Identifier",
"src": "1033:4:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "30",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0"
},
"id": 80,
"name": "Literal",
"src": "1041:1:0"
}
],
"id": 81,
"name": "BinaryOperation",
"src": "1033:9:0"
}
],
"id": 82,
"name": "FunctionCall",
"src": "1025:18:0"
}
],
"id": 83,
"name": "ExpressionStatement",
"src": "1025:18:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "=",
"type": "tuple()",
"isStructConstructorCall": false,
"names": [
null
],
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 84,
"name": "Identifier",
"src": "1053:7:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 44,
"type": "bool",
"value": "_startTime",
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "!="
},
"id": 87,
"name": "BinaryOperation",
"src": "1061:13:0",
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 50,
"type": "address",
"value": "_vault"
},
"id": 85,
"name": "Identifier",
"src": "1061:6:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "307830",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0x0"
},
"id": 86,
"name": "Literal",
"src": "1071:3:0"
}
]
}
],
"id": 88,
"name": "FunctionCall",
"src": "1053:22:0"
}
],
"id": 89,
"name": "ExpressionStatement",
"src": "1053:22:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "=",
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 8,
"type": "uint256",
"value": "startTime"
},
"id": 90,
"name": "Identifier",
"src": "1085:9:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 44,
"type": "uint256",
"value": "_startTime"
},
"id": 91,
"name": "Identifier",
"src": "1097:10:0"
}
],
"id": 92,
"name": "Assignment",
"src": "1085:22:0"
}
],
"id": 93,
"name": "ExpressionStatement",
"src": "1085:22:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "=",
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 10,
"type": "uint256",
"value": "endTime"
},
"id": 94,
"name": "Identifier",
"src": "1117:7:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 46,
"type": "uint256",
"value": "_endTime"
},
"id": 95,
"name": "Identifier",
"src": "1127:8:0"
}
],
"id": 96,
"name": "Assignment",
"src": "1117:18:0"
}
],
"id": 97,
"name": "ExpressionStatement",
"src": "1117:18:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "=",
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 12,
"type": "uint256",
"value": "cap"
},
"id": 98,
"name": "Identifier",
"src": "1145:3:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "74727565",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "bool",
"type": "uint256",
"value": "_cap",
"overloadedDeclarations": [
null
],
"referencedDeclaration": 48
},
"id": 99,
"name": "Identifier",
"src": "1151:4:0"
}
],
"id": 100,
"name": "Assignment",
"src": "1145:10:0"
}
],
"id": 101,
"name": "ExpressionStatement",
"src": "1145:10:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 17,
"type": "bool",
"value": "isInitialized"
},
"id": 102,
"name": "Identifier",
"src": "1165:13:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 50,
"type": "bool",
"value": "true",
"hexvalue": "74727565",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "bool"
},
"id": 103,
"name": "Literal",
"src": "1181:4:0"
}
],
"id": 104,
"name": "Assignment",
"src": "1165:20:0"
}
],
"id": 105,
"name": "ExpressionStatement",
"src": "1165:20:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "=",
"type": "address"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 31,
"type": "address",
"value": "vault"
},
"id": 106,
"name": "Identifier",
"src": "1195:5:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 50,
"type": "address",
"value": "_vault"
},
"id": 107,
"name": "Identifier",
"src": "1203:6:0"
}
],
"id": 108,
"name": "Assignment",
"src": "1195:14:0"
}
],
"id": 109,
"name": "ExpressionStatement",
"src": "1195:14:0"
}
],
"id": 110,
"name": "Block",
"src": "876:340:0"
}
],
"id": 111,
"name": "FunctionDefinition",
"src": "771:445:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"modifiers": [
null
],
"name": "buy",
"payable": true,
"scope": 337,
"stateMutability": "payable",
"superFunction": null,
"visibility": "public"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 112,
"name": "ParameterList",
"src": "1261:2:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 113,
"name": "ParameterList",
"src": "1279:0:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 114,
"name": "Identifier",
"src": "1289:7:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 27,
"type": "mapping(address => bool)",
"value": "whitelist"
},
"id": 115,
"name": "Identifier",
"src": "1297:9:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "sender",
"referencedDeclaration": null,
"type": "address"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 606,
"type": "msg",
"value": "msg"
},
"id": 116,
"name": "Identifier",
"src": "1307:3:0"
}
],
"id": 117,
"name": "MemberAccess",
"src": "1307:10:0"
}
],
"id": 118,
"name": "IndexAccess",
"src": "1297:21:0"
}
],
"id": 119,
"name": "FunctionCall",
"src": "1289:30:0"
}
],
"id": 120,
"name": "ExpressionStatement",
"src": "1289:30:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 121,
"name": "Identifier",
"src": "1329:7:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": ">",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "value",
"referencedDeclaration": null,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 606,
"type": "msg",
"value": "msg"
},
"id": 122,
"name": "Identifier",
"src": "1337:3:0"
}
],
"id": 123,
"name": "MemberAccess",
"src": "1337:9:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "30",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0"
},
"id": 124,
"name": "Literal",
"src": "1349:1:0"
}
],
"id": 125,
"name": "BinaryOperation",
"src": "1337:13:0"
}
],
"id": 126,
"name": "FunctionCall",
"src": "1329:22:0"
}
],
"id": 127,
"name": "ExpressionStatement",
"src": "1329:22:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 128,
"name": "Identifier",
"src": "1361:7:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 17,
"type": "bool",
"value": "isInitialized"
},
"id": 129,
"name": "Identifier",
"src": "1369:13:0"
}
],
"id": 130,
"name": "FunctionCall",
"src": "1361:22:0"
}
],
"id": 131,
"name": "ExpressionStatement",
"src": "1361:22:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 132,
"name": "Identifier",
"src": "1393:7:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "&&",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": ">=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 587,
"type": "uint256",
"value": "now",
"arguments": [
null
],
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type_conversion": false
},
"id": 134,
"name": "FunctionCall",
"src": "1401:9:0",
"children": [
{
"attributes": {
"argumentTypes": [
null
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 336,
"type": "function () view returns (uint256)",
"value": "getTime"
},
"id": 133,
"name": "Identifier",
"src": "1401:7:0"
}
]
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 8,
"type": "uint256",
"value": "startTime"
},
"id": 135,
"name": "Identifier",
"src": "1414:9:0"
}
],
"id": 136,
"name": "BinaryOperation",
"src": "1401:22:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "<=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 587,
"type": "uint256",
"value": "now",
"arguments": [
null
],
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type_conversion": false
},
"id": 138,
"name": "FunctionCall",
"src": "1427:9:0",
"children": [
{
"attributes": {
"argumentTypes": [
null
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 336,
"type": "function () view returns (uint256)",
"value": "getTime"
},
"id": 137,
"name": "Identifier",
"src": "1427:7:0"
}
]
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 10,
"type": "uint256",
"value": "endTime"
},
"id": 139,
"name": "Identifier",
"src": "1440:7:0"
}
],
"id": 140,
"name": "BinaryOperation",
"src": "1427:20:0"
}
],
"id": 141,
"name": "BinaryOperation",
"src": "1401:46:0"
}
],
"id": 142,
"name": "FunctionCall",
"src": "1393:55:0"
}
],
"id": 143,
"name": "ExpressionStatement",
"src": "1393:55:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 144,
"name": "Identifier",
"src": "1458:7:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "<=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "+",
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 19,
"type": "uint256",
"value": "totalInvestedInWei"
},
"id": 145,
"name": "Identifier",
"src": "1466:18:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "value",
"referencedDeclaration": null,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 606,
"type": "msg",
"value": "msg"
},
"id": 146,
"name": "Identifier",
"src": "1487:3:0"
}
],
"id": 147,
"name": "MemberAccess",
"src": "1487:9:0"
}
],
"id": 148,
"name": "BinaryOperation",
"src": "1466:30:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 12,
"type": "uint256",
"value": "cap"
},
"id": 149,
"name": "Identifier",
"src": "1500:3:0"
}
],
"id": 150,
"name": "BinaryOperation",
"src": "1466:37:0"
}
],
"id": 151,
"name": "FunctionCall",
"src": "1458:46:0"
}
],
"id": 152,
"name": "ExpressionStatement",
"src": "1458:46:0"
},
{
"attributes": {
"assignments": [
154
]
},
"children": [
{
"attributes": {
"constant": false,
"name": "investor",
"scope": 176,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 153,
"name": "ElementaryTypeName",
"src": "1514:7:0"
}
],
"id": 154,
"name": "VariableDeclaration",
"src": "1514:16:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "sender",
"referencedDeclaration": null,
"type": "address"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 606,
"type": "msg",
"value": "msg"
},
"id": 155,
"name": "Identifier",
"src": "1533:3:0"
}
],
"id": 156,
"name": "MemberAccess",
"src": "1533:10:0"
}
],
"id": 157,
"name": "VariableDeclarationStatement",
"src": "1514:29:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "+=",
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 23,
"type": "mapping(address => uint256)",
"value": "investorBalances"
},
"id": 158,
"name": "Identifier",
"src": "1553:16:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 154,
"type": "address",
"value": "investor"
},
"id": 159,
"name": "Identifier",
"src": "1570:8:0"
}
],
"id": 160,
"name": "IndexAccess",
"src": "1553:26:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "value",
"referencedDeclaration": null,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 606,
"type": "msg",
"value": "msg"
},
"id": 161,
"name": "Identifier",
"src": "1583:3:0"
}
],
"id": 162,
"name": "MemberAccess",
"src": "1583:9:0"
}
],
"id": 163,
"name": "Assignment",
"src": "1553:39:0"
}
],
"id": 164,
"name": "ExpressionStatement",
"src": "1553:39:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "+=",
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 19,
"type": "uint256",
"value": "totalInvestedInWei"
},
"id": 165,
"name": "Identifier",
"src": "1602:18:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "value",
"referencedDeclaration": null,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 606,
"type": "msg",
"value": "msg"
},
"id": 166,
"name": "Identifier",
"src": "1624:3:0"
}
],
"id": 167,
"name": "MemberAccess",
"src": "1624:9:0"
}
],
"id": 168,
"name": "Assignment",
"src": "1602:31:0"
}
],
"id": 169,
"name": "ExpressionStatement",
"src": "1602:31:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 188,
"type": "function (uint256)",
"value": "forwardFunds"
},
"id": 170,
"name": "Identifier",
"src": "1643:12:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "value",
"referencedDeclaration": null,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 606,
"type": "msg",
"value": "msg"
},
"id": 171,
"name": "Identifier",
"src": "1656:3:0"
}
],
"id": 172,
"name": "MemberAccess",
"src": "1656:9:0"
}
],
"id": 173,
"name": "FunctionCall",
"src": "1643:23:0"
}
],
"id": 174,
"name": "ExpressionStatement",
"src": "1643:23:0"
}
],
"id": 175,
"name": "Block",
"src": "1279:394:0"
}
],
"id": 176,
"name": "FunctionDefinition",
"src": "1249:424:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"modifiers": [
null
],
"name": "forwardFunds",
"payable": false,
"scope": 337,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "_amount",
"scope": 188,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 177,
"name": "ElementaryTypeName",
"src": "1733:7:0"
}
],
"id": 178,
"name": "VariableDeclaration",
"src": "1733:15:0"
}
],
"id": 179,
"name": "ParameterList",
"src": "1732:17:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 180,
"name": "ParameterList",
"src": "1759:0:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "transfer",
"referencedDeclaration": null,
"type": "function (uint256)"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 31,
"type": "address",
"value": "vault"
},
"id": 181,
"name": "Identifier",
"src": "1769:5:0"
}
],
"id": 183,
"name": "MemberAccess",
"src": "1769:14:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 178,
"type": "uint256",
"value": "_amount"
},
"id": 184,
"name": "Identifier",
"src": "1784:7:0"
}
],
"id": 185,
"name": "FunctionCall",
"src": "1769:23:0"
}
],
"id": 186,
"name": "ExpressionStatement",
"src": "1769:23:0"
}
],
"id": 187,
"name": "Block",
"src": "1759:40:0"
}
],
"id": 188,
"name": "FunctionDefinition",
"src": "1711:88:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"name": "claimTokens",
"payable": false,
"scope": 337,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "_token",
"scope": 229,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 189,
"name": "ElementaryTypeName",
"src": "1830:7:0"
}
],
"id": 190,
"name": "VariableDeclaration",
"src": "1830:14:0"
}
],
"id": 191,
"name": "ParameterList",
"src": "1829:16:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 194,
"name": "ParameterList",
"src": "1863:0:0"
},
{
"attributes": {
"arguments": [
null
]
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 462,
"type": "modifier ()",
"value": "onlyOwner"
},
"id": 192,
"name": "Identifier",
"src": "1853:9:0"
}
],
"id": 193,
"name": "ModifierInvocation",
"src": "1853:9:0"
},
{
"children": [
{
"attributes": {
"falseBody": null
},
"children": [
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "==",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 190,
"type": "address",
"value": "_token"
},
"id": 195,
"name": "Identifier",
"src": "1877:6:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "307830",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0x0"
},
"id": 196,
"name": "Literal",
"src": "1887:3:0"
}
],
"id": 197,
"name": "BinaryOperation",
"src": "1877:13:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "transfer",
"referencedDeclaration": null,
"type": "function (uint256)"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 436,
"type": "address",
"value": "owner"
},
"id": 198,
"name": "Identifier",
"src": "1906:5:0"
}
],
"id": 200,
"name": "MemberAccess",
"src": "1906:14:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "balance",
"referencedDeclaration": null,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 625,
"type": "contract PresaleOracles",
"value": "this"
},
"id": 201,
"name": "Identifier",
"src": "1921:4:0"
}
],
"id": 202,
"name": "MemberAccess",
"src": "1921:12:0"
}
],
"id": 203,
"name": "FunctionCall",
"src": "1906:28:0"
}
],
"id": 204,
"name": "ExpressionStatement",
"src": "1906:28:0"
},
{
"attributes": {
"expression": null,
"functionReturnParameters": 194
},
"id": 205,
"name": "Return",
"src": "1948:7:0"
}
],
"id": 206,
"name": "Block",
"src": "1892:73:0"
}
],
"id": 207,
"name": "IfStatement",
"src": "1873:92:0"
},
{
"attributes": {
"assignments": [
209
]
},
"children": [
{
"attributes": {
"constant": false,
"name": "token",
"scope": 229,
"stateVariable": false,
"storageLocation": "default",
"type": "contract BasicToken",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"contractScope": null,
"name": "BasicToken",
"referencedDeclaration": 565,
"type": "contract BasicToken"
},
"id": 208,
"name": "UserDefinedTypeName",
"src": "1979:10:0"
}
],
"id": 209,
"name": "VariableDeclaration",
"src": "1979:16:0"
},
{
"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": 565,
"type": "type(contract BasicToken)",
"value": "BasicToken"
},
"id": 210,
"name": "Identifier",
"src": "1998:10:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 190,
"type": "address",
"value": "_token"
},
"id": 211,
"name": "Identifier",
"src": "2009:6:0"
}
],
"id": 212,
"name": "FunctionCall",
"src": "1998:18:0"
}
],
"id": 213,
"name": "VariableDeclarationStatement",
"src": "1979:37:0"
},
{
"attributes": {
"assignments": [
215
]
},
"children": [
{
"attributes": {
"constant": false,
"name": "balance",
"scope": 229,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 214,
"name": "ElementaryTypeName",
"src": "2026:7:0"
}
],
"id": 215,
"name": "VariableDeclaration",
"src": "2026:15:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "uint256",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_PresaleOracles_$337",
"typeString": "contract PresaleOracles"
}
],
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "balanceOf",
"referencedDeclaration": 564,
"type": "function (address) view external returns (uint256)"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 209,
"type": "contract BasicToken",
"value": "token"
},
"id": 216,
"name": "Identifier",
"src": "2044:5:0"
}
],
"id": 217,
"name": "MemberAccess",
"src": "2044:15:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 625,
"type": "contract PresaleOracles",
"value": "this"
},
"id": 218,
"name": "Identifier",
"src": "2060:4:0"
}
],
"id": 219,
"name": "FunctionCall",
"src": "2044:21:0"
}
],
"id": 220,
"name": "VariableDeclarationStatement",
"src": "2026:39:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "bool",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "transfer",
"referencedDeclaration": 552,
"type": "function (address,uint256) external returns (bool)"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 209,
"type": "contract BasicToken",
"value": "token"
},
"id": 221,
"name": "Identifier",
"src": "2075:5:0"
}
],
"id": 223,
"name": "MemberAccess",
"src": "2075:14:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 436,
"type": "address",
"value": "owner"
},
"id": 224,
"name": "Identifier",
"src": "2090:5:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 215,
"type": "uint256",
"value": "balance"
},
"id": 225,
"name": "Identifier",
"src": "2097:7:0"
}
],
"id": 226,
"name": "FunctionCall",
"src": "2075:30:0"
}
],
"id": 227,
"name": "ExpressionStatement",
"src": "2075:30:0"
}
],
"id": 228,
"name": "Block",
"src": "1863:249:0"
}
],
"id": 229,
"name": "FunctionDefinition",
"src": "1809:303:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"name": "whitelistInvestor",
"payable": false,
"scope": 337,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "_newInvestor",
"scope": 252,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 230,
"name": "ElementaryTypeName",
"src": "2145:7:0"
}
],
"id": 231,
"name": "VariableDeclaration",
"src": "2145:20:0"
}
],
"id": 232,
"name": "ParameterList",
"src": "2144:22:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 235,
"name": "ParameterList",
"src": "2184:0:0"
},
{
"attributes": {
"arguments": [
null
]
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 462,
"type": "modifier ()",
"value": "onlyOwner"
},
"id": 233,
"name": "Identifier",
"src": "2174:9:0"
}
],
"id": 234,
"name": "ModifierInvocation",
"src": "2174:9:0"
},
{
"children": [
{
"attributes": {
"falseBody": null
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "!",
"prefix": true,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 27,
"type": "mapping(address => bool)",
"value": "whitelist"
},
"id": 236,
"name": "Identifier",
"src": "2198:9:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 231,
"type": "address",
"value": "_newInvestor"
},
"id": 237,
"name": "Identifier",
"src": "2208:12:0"
}
],
"id": 238,
"name": "IndexAccess",
"src": "2198:23:0"
}
],
"id": 239,
"name": "UnaryOperation",
"src": "2197:24:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 27,
"type": "mapping(address => bool)",
"value": "whitelist"
},
"id": 240,
"name": "Identifier",
"src": "2237:9:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 231,
"type": "address",
"value": "_newInvestor"
},
"id": 241,
"name": "Identifier",
"src": "2247:12:0"
}
],
"id": 242,
"name": "IndexAccess",
"src": "2237:23:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "74727565",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "bool",
"type": "bool",
"value": "true"
},
"id": 243,
"name": "Literal",
"src": "2263:4:0"
}
],
"id": 244,
"name": "Assignment",
"src": "2237:30:0"
}
],
"id": 245,
"name": "ExpressionStatement",
"src": "2237:30:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "++",
"prefix": false,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 29,
"type": "uint256",
"value": "investorsLength"
},
"id": 246,
"name": "Identifier",
"src": "2281:15:0"
}
],
"id": 247,
"name": "UnaryOperation",
"src": "2281:17:0"
}
],
"id": 248,
"name": "ExpressionStatement",
"src": "2281:17:0"
}
],
"id": 249,
"name": "Block",
"src": "2223:86:0"
}
],
"id": 250,
"name": "IfStatement",
"src": "2194:115:0"
}
],
"id": 251,
"name": "Block",
"src": "2184:131:0"
}
],
"id": 252,
"name": "FunctionDefinition",
"src": "2118:197:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"name": "whitelistInvestors",
"payable": false,
"scope": 337,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "_investors",
"scope": 302,
"stateVariable": false,
"storageLocation": "default",
"type": "address[] calldata",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "address[] storage pointer"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 253,
"name": "ElementaryTypeName",
"src": "2348:7:0"
}
],
"id": 254,
"name": "ArrayTypeName",
"src": "2348:9:0"
}
],
"id": 255,
"name": "VariableDeclaration",
"src": "2348:20:0"
}
],
"id": 256,
"name": "ParameterList",
"src": "2347:22:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 259,
"name": "ParameterList",
"src": "2389:0:0"
},
{
"attributes": {
"arguments": [
null
]
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 462,
"type": "modifier ()",
"value": "onlyOwner"
},
"id": 257,
"name": "Identifier",
"src": "2379:9:0"
}
],
"id": 258,
"name": "ModifierInvocation",
"src": "2379:9:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"isStructConstructorCall": false,
"lValueRequested": false,
"names": [
null
],
"type": "tuple()",
"type_conversion": false
},
"children": [
{
"attributes": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"overloadedDeclarations": [
null
],
"referencedDeclaration": 609,
"type": "function (bool) pure",
"value": "require"
},
"id": 260,
"name": "Identifier",
"src": "2399:7:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "<=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "length",
"referencedDeclaration": null,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 255,
"type": "address[] calldata",
"value": "_investors"
},
"id": 261,
"name": "Identifier",
"src": "2407:10:0"
}
],
"id": 262,
"name": "MemberAccess",
"src": "2407:17:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "323530",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 250",
"value": "250"
},
"id": 263,
"name": "Literal",
"src": "2428:3:0"
}
],
"id": 264,
"name": "BinaryOperation",
"src": "2407:24:0"
}
],
"id": 265,
"name": "FunctionCall",
"src": "2399:33:0"
}
],
"id": 266,
"name": "ExpressionStatement",
"src": "2399:33:0"
},
{
"children": [
{
"attributes": {
"assignments": [
268
]
},
"children": [
{
"attributes": {
"constant": false,
"name": "i",
"scope": 302,
"stateVariable": false,
"storageLocation": "default",
"type": "uint8",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint8",
"type": "uint8"
},
"id": 267,
"name": "ElementaryTypeName",
"src": "2446:5:0"
}
],
"id": 268,
"name": "VariableDeclaration",
"src": "2446:7:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "30",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0"
},
"id": 269,
"name": "Literal",
"src": "2454:1:0"
}
],
"id": 270,
"name": "VariableDeclarationStatement",
"src": "2446:9:0"
},
{
"attributes": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "<",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 268,
"type": "uint8",
"value": "i"
},
"id": 271,
"name": "Identifier",
"src": "2457:1:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"member_name": "length",
"referencedDeclaration": null,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 255,
"type": "address[] calldata",
"value": "_investors"
},
"id": 272,
"name": "Identifier",
"src": "2459:10:0"
}
],
"id": 273,
"name": "MemberAccess",
"src": "2459:17:0"
}
],
"id": 274,
"name": "BinaryOperation",
"src": "2457:19:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "++",
"prefix": false,
"type": "uint8"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 268,
"type": "uint8",
"value": "i"
},
"id": 275,
"name": "Identifier",
"src": "2477:1:0"
}
],
"id": 276,
"name": "UnaryOperation",
"src": "2477:3:0"
}
],
"id": 277,
"name": "ExpressionStatement",
"src": "2477:3:0"
},
{
"children": [
{
"attributes": {
"assignments": [
279
]
},
"children": [
{
"attributes": {
"constant": false,
"name": "newInvestor",
"scope": 302,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 278,
"name": "ElementaryTypeName",
"src": "2496:7:0"
}
],
"id": 279,
"name": "VariableDeclaration",
"src": "2496:19:0"
},
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"type": "address"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 255,
"type": "address[] calldata",
"value": "_investors"
},
"id": 280,
"name": "Identifier",
"src": "2518:10:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 268,
"type": "uint8",
"value": "i"
},
"id": 281,
"name": "Identifier",
"src": "2529:1:0"
}
],
"id": 282,
"name": "IndexAccess",
"src": "2518:13:0"
}
],
"id": 283,
"name": "VariableDeclarationStatement",
"src": "2496:35:0"
},
{
"attributes": {
"falseBody": null
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "!",
"prefix": true,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 27,
"type": "mapping(address => bool)",
"value": "whitelist"
},
"id": 284,
"name": "Identifier",
"src": "2549:9:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 279,
"type": "address",
"value": "newInvestor"
},
"id": 285,
"name": "Identifier",
"src": "2559:11:0"
}
],
"id": 286,
"name": "IndexAccess",
"src": "2549:22:0"
}
],
"id": 287,
"name": "UnaryOperation",
"src": "2548:23:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "=",
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 27,
"type": "mapping(address => bool)",
"value": "whitelist"
},
"id": 288,
"name": "Identifier",
"src": "2591:9:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 279,
"type": "address",
"value": "newInvestor"
},
"id": 289,
"name": "Identifier",
"src": "2601:11:0"
}
],
"id": 290,
"name": "IndexAccess",
"src": "2591:22:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "74727565",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "bool",
"type": "bool",
"value": "true"
},
"id": 291,
"name": "Literal",
"src": "2616:4:0"
}
],
"id": 292,
"name": "Assignment",
"src": "2591:29:0"
}
],
"id": 293,
"name": "ExpressionStatement",
"src": "2591:29:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "++",
"prefix": false,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 29,
"type": "uint256",
"value": "investorsLength"
},
"id": 294,
"name": "Identifier",
"src": "2638:15:0"
}
],
"id": 295,
"name": "UnaryOperation",
"src": "2638:17:0"
}
],
"id": 296,
"name": "ExpressionStatement",
"src": "2638:17:0"
}
],
"id": 297,
"name": "Block",
"src": "2573:97:0"
}
],
"id": 298,
"name": "IfStatement",
"src": "2545:125:0"
}
],
"id": 299,
"name": "Block",
"src": "2482:198:0"
}
],
"id": 300,
"name": "ForStatement",
"src": "2442:238:0"
}
],
"id": 301,
"name": "Block",
"src": "2389:297:0"
}
],
"id": 302,
"name": "FunctionDefinition",
"src": "2320:366:0"
},
{
"attributes": {
"constant": false,
"implemented": true,
"isConstructor": false,
"name": "blacklistInvestor",
"payable": false,
"scope": 337,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "_investor",
"scope": 328,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"type": "address"
},
"id": 303,
"name": "ElementaryTypeName",
"src": "2718:7:0"
}
],
"id": 304,
"name": "VariableDeclaration",
"src": "2718:17:0"
}
],
"id": 305,
"name": "ParameterList",
"src": "2717:19:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 308,
"name": "ParameterList",
"src": "2754:0:0"
},
{
"attributes": {
"arguments": [
null
]
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 462,
"type": "modifier ()",
"value": "onlyOwner"
},
"id": 306,
"name": "Identifier",
"src": "2744:9:0"
}
],
"id": 307,
"name": "ModifierInvocation",
"src": "2744:9:0"
},
{
"children": [
{
"attributes": {
"falseBody": null
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 27,
"type": "mapping(address => bool)",
"value": "whitelist"
},
"id": 309,
"name": "Identifier",
"src": "2767:9:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 304,
"type": "address",
"value": "_investor"
},
"id": 310,
"name": "Identifier",
"src": "2777:9:0"
}
],
"id": 311,
"name": "IndexAccess",
"src": "2767:20:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "delete",
"prefix": true,
"type": "tuple()"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"type": "bool"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 27,
"type": "mapping(address => bool)",
"value": "whitelist"
},
"id": 312,
"name": "Identifier",
"src": "2810:9:0"
},
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 304,
"type": "address",
"value": "_investor"
},
"id": 313,
"name": "Identifier",
"src": "2820:9:0"
}
],
"id": 314,
"name": "IndexAccess",
"src": "2810:20:0"
}
],
"id": 315,
"name": "UnaryOperation",
"src": "2803:27:0"
}
],
"id": 316,
"name": "ExpressionStatement",
"src": "2803:27:0"
},
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "!=",
"prefix": false,
"type": "bool",
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 29,
"type": "uint256",
"value": "investorsLength"
},
"id": 317,
"name": "Identifier",
"src": "2847:15:0"
},
{
"attributes": {
"argumentTypes": null,
"hexvalue": "30",
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"subdenomination": null,
"token": "number",
"type": "int_const 0",
"value": "0"
},
"id": 318,
"name": "Literal",
"src": "2866:1:0"
}
],
"id": 319,
"name": "BinaryOperation",
"src": "2847:20:0"
},
{
"children": [
{
"children": [
{
"attributes": {
"argumentTypes": null,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"operator": "--",
"prefix": false,
"type": "uint256"
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 29,
"type": "uint256",
"value": "investorsLength"
},
"id": 320,
"name": "Identifier",
"src": "2887:15:0"
}
],
"id": 321,
"name": "UnaryOperation",
"src": "2887:17:0"
}
],
"id": 322,
"name": "ExpressionStatement",
"src": "2887:17:0"
}
],
"id": 323,
"name": "Block",
"src": "2869:50:0"
}
],
"id": 324,
"name": "IfStatement",
"src": "2844:75:0",
"attributes": {
"falseBody": null
}
}
],
"id": 325,
"name": "Block",
"src": "2789:140:0"
}
],
"id": 326,
"name": "IfStatement",
"src": "2764:165:0"
}
],
"id": 327,
"name": "Block",
"src": "2754:181:0"
}
],
"id": 328,
"name": "FunctionDefinition",
"src": "2691:244:0"
},
{
"attributes": {
"constant": true,
"implemented": true,
"isConstructor": false,
"modifiers": [
null
],
"name": "getTime",
"payable": false,
"scope": 337,
"stateMutability": "view",
"superFunction": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 329,
"name": "ParameterList",
"src": "2957:2:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "",
"scope": 336,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 330,
"name": "ElementaryTypeName",
"src": "2982:7:0"
}
],
"id": 331,
"name": "VariableDeclaration",
"src": "2982:7:0"
}
],
"id": 332,
"name": "ParameterList",
"src": "2981:9:0"
},
{
"children": [
{
"attributes": {
"functionReturnParameters": 332
},
"children": [
{
"attributes": {
"argumentTypes": null,
"overloadedDeclarations": [
null
],
"referencedDeclaration": 608,
"type": "uint256",
"value": "now"
},
"id": 333,
"name": "Identifier",
"src": "3008:3:0"
}
],
"id": 334,
"name": "Return",
"src": "3001:10:0"
}
],
"id": 335,
"name": "Block",
"src": "2991:27:0"
}
],
"id": 336,
"name": "FunctionDefinition",
"src": "2941:77:0"
}
],
"id": 337,
"name": "ContractDefinition",
"src": "202:2818:0"
}
],
"id": 338,
"name": "SourceUnit",
"src": "0:3020:0"
},
"compiler": {
"name": "solc",
"version": "0.4.18+commit.9cf6e910.Emscripten.clang"
},
"networks": {
"321": {
"events": {},
"links": {},
"address": "0x69bd17ead2202072ae4a117b036305a94ccf2e06"
}
},
"schemaVersion": "1.0.1",
"updatedAt": "2017-11-10T02:14:36.871Z"
}