UNPKG

tokenboost-solidity-erc20sale

Version:
872 lines (871 loc) 290 kB
{ "contractName": "ERC20SaleRenderer", "abi": [ { "constant": true, "inputs": [], "name": "inputsRenderer", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" } ], "name": "OwnershipRenounced", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "constant": false, "inputs": [ { "name": "_renderers", "type": "address[]" } ], "name": "setAdminWidgetRenderers", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "numberOfAdminWidgetRenderers", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "index", "type": "uint256" } ], "name": "getAdminWidgetRendererAt", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_renderers", "type": "address[]" } ], "name": "setUserWidgetRenderers", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "numberOfUserWidgetRenderers", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "index", "type": "uint256" } ], "name": "getUserWidgetRendererAt", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_renderer", "type": "address" } ], "name": "setInputsRenderer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_locale", "type": "string" }, { "name": "_sale", "type": "address" } ], "name": "adminWidgets", "outputs": [ { "name": "jsonObject", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_locale", "type": "string" }, { "name": "_sale", "type": "address" } ], "name": "userWidgets", "outputs": [ { "name": "jsonObject", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_locale", "type": "string" }, { "name": "_sale", "type": "address" } ], "name": "inputs", "outputs": [ { "name": "jsonArray", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405260008054600160a060020a03191633179055610cdd806100256000396000f3006080604052600436106100ce5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416626c8e7f81146100d3578063020849be146101075780630a709e591461015e5780633634a20c146101735780635d36af89146101c8578063715018a6146101e057806385295c19146101f55780638da5cb5b1461021c578063a1f40d8f14610231578063bbb7b46a14610252578063bf3bed5414610267578063e77cee3d14610340578063e9499555146103a4578063f2fde38b14610408575b600080fd5b3480156100df57600080fd5b506100eb600435610429565b60408051600160a060020a039092168252519081900360200190f35b34801561011357600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104559650505050505050565b005b34801561016a57600080fd5b506100eb610483565b34801561017f57600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104929650505050505050565b3480156101d457600080fd5b506100eb6004356104bc565b3480156101ec57600080fd5b5061015c6104cd565b34801561020157600080fd5b5061020a610539565b60408051918252519081900360200190f35b34801561022857600080fd5b506100eb610540565b34801561023d57600080fd5b5061015c600160a060020a036004351661054f565b34801561025e57600080fd5b5061020a610595565b34801561027357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061059b92505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103055781810151838201526020016102ed565b50505050905090810190601f1680156103325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a031693506106ff92505050565b3480156103b057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061076d92505050565b34801561041457600080fd5b5061015c600160a060020a03600435166107d2565b600060028281548110151561043a57fe5b600091825260209091200154600160a060020a031692915050565b600054600160a060020a0316331461046c57600080fd5b805161047f906002906020840190610bf7565b5050565b600354600160a060020a031681565b600054600160a060020a031633146104a957600080fd5b805161047f906001906020840190610bf7565b600060018281548110151561043a57fe5b600054600160a060020a031633146104e457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6001545b90565b600054600160a060020a031681565b600054600160a060020a0316331461056657600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025490565b600354604080517fca1a70be000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260048201928352855160448301528551606094919091169263ca1a70be9287928792918291606490910190602086019080838360005b8381101561062357818101518382015260200161060b565b50505050905090810190601f1680156106505780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156106ad57600080fd5b8101908080516401000000008111156106c557600080fd5b820160208101848111156106d857600080fd5b81516401000000008111828201871017156106f257600080fd5b5090979650505050505050565b60606107668383600280548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161073e575b50505050506107f5565b9392505050565b60606107668383600180548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020908154600160a060020a0316815260019091019060200180831161073e5750505050506107f5565b600054600160a060020a031633146107e957600080fd5b6107f281610a99565b50565b60408051808201909152600181527f5b00000000000000000000000000000000000000000000000000000000000000602082015260609060008080845b8651831015610a4b57868381518110151561084957fe5b90602001906020020151915081600160a060020a031663ca1a70be8a8a6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156108e65781810151838201526020016108ce565b50505050905090810190601f1680156109135780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561093357600080fd5b505af1158015610947573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561097057600080fd5b81019080805164010000000081111561098857600080fd5b8201602081018481111561099b57600080fd5b81516401000000008111828201871017156109b557600080fd5b50509291905050509050600081511115610a40576000841115610a2b57610a28610a136040805190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250610b16565b610a1c87610b16565b9063ffffffff610b3c16565b94505b610a37610a1382610b16565b94506001909301925b600190920191610832565b610a8c610a136040805190810160405280600181526020017f5d00000000000000000000000000000000000000000000000000000000000000815250610b16565b9998505050505050505050565b600160a060020a0381161515610aae57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610b1e610c69565b50604080518082019091528151815260209182019181019190915290565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015610b79578160200160208202803883390190505b509150602082019050610b958186602001518760000151610bb3565b845160208501518551610bab9284019190610bb3565b509392505050565b60005b60208210610bd8578251845260209384019390920191601f1990910190610bb6565b50905182516020929092036101000a6000190180199091169116179052565b828054828255906000526020600020908101928215610c59579160200282015b82811115610c59578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190610c17565b50610c65929150610c80565b5090565b604080518082019091526000808252602082015290565b61053d91905b80821115610c6557805473ffffffffffffffffffffffffffffffffffffffff19168155600101610c865600a165627a7a72305820c7ded3bb7b4df1ddcacc69bc384bbdb2dc054af27ac2a6ccf10ddd7f50eac34f0029", "deployedBytecode": "0x6080604052600436106100ce5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416626c8e7f81146100d3578063020849be146101075780630a709e591461015e5780633634a20c146101735780635d36af89146101c8578063715018a6146101e057806385295c19146101f55780638da5cb5b1461021c578063a1f40d8f14610231578063bbb7b46a14610252578063bf3bed5414610267578063e77cee3d14610340578063e9499555146103a4578063f2fde38b14610408575b600080fd5b3480156100df57600080fd5b506100eb600435610429565b60408051600160a060020a039092168252519081900360200190f35b34801561011357600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104559650505050505050565b005b34801561016a57600080fd5b506100eb610483565b34801561017f57600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104929650505050505050565b3480156101d457600080fd5b506100eb6004356104bc565b3480156101ec57600080fd5b5061015c6104cd565b34801561020157600080fd5b5061020a610539565b60408051918252519081900360200190f35b34801561022857600080fd5b506100eb610540565b34801561023d57600080fd5b5061015c600160a060020a036004351661054f565b34801561025e57600080fd5b5061020a610595565b34801561027357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061059b92505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103055781810151838201526020016102ed565b50505050905090810190601f1680156103325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a031693506106ff92505050565b3480156103b057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061076d92505050565b34801561041457600080fd5b5061015c600160a060020a03600435166107d2565b600060028281548110151561043a57fe5b600091825260209091200154600160a060020a031692915050565b600054600160a060020a0316331461046c57600080fd5b805161047f906002906020840190610bf7565b5050565b600354600160a060020a031681565b600054600160a060020a031633146104a957600080fd5b805161047f906001906020840190610bf7565b600060018281548110151561043a57fe5b600054600160a060020a031633146104e457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6001545b90565b600054600160a060020a031681565b600054600160a060020a0316331461056657600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025490565b600354604080517fca1a70be000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260048201928352855160448301528551606094919091169263ca1a70be9287928792918291606490910190602086019080838360005b8381101561062357818101518382015260200161060b565b50505050905090810190601f1680156106505780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156106ad57600080fd5b8101908080516401000000008111156106c557600080fd5b820160208101848111156106d857600080fd5b81516401000000008111828201871017156106f257600080fd5b5090979650505050505050565b60606107668383600280548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161073e575b50505050506107f5565b9392505050565b60606107668383600180548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020908154600160a060020a0316815260019091019060200180831161073e5750505050506107f5565b600054600160a060020a031633146107e957600080fd5b6107f281610a99565b50565b60408051808201909152600181527f5b00000000000000000000000000000000000000000000000000000000000000602082015260609060008080845b8651831015610a4b57868381518110151561084957fe5b90602001906020020151915081600160a060020a031663ca1a70be8a8a6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156108e65781810151838201526020016108ce565b50505050905090810190601f1680156109135780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561093357600080fd5b505af1158015610947573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561097057600080fd5b81019080805164010000000081111561098857600080fd5b8201602081018481111561099b57600080fd5b81516401000000008111828201871017156109b557600080fd5b50509291905050509050600081511115610a40576000841115610a2b57610a28610a136040805190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250610b16565b610a1c87610b16565b9063ffffffff610b3c16565b94505b610a37610a1382610b16565b94506001909301925b600190920191610832565b610a8c610a136040805190810160405280600181526020017f5d00000000000000000000000000000000000000000000000000000000000000815250610b16565b9998505050505050505050565b600160a060020a0381161515610aae57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610b1e610c69565b50604080518082019091528151815260209182019181019190915290565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015610b79578160200160208202803883390190505b509150602082019050610b958186602001518760000151610bb3565b845160208501518551610bab9284019190610bb3565b509392505050565b60005b60208210610bd8578251845260209384019390920191601f1990910190610bb6565b50905182516020929092036101000a6000190180199091169116179052565b828054828255906000526020600020908101928215610c59579160200282015b82811115610c59578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190610c17565b50610c65929150610c80565b5090565b604080518082019091526000808252602082015290565b61053d91905b80821115610c6557805473ffffffffffffffffffffffffffffffffffffffff19168155600101610c865600a165627a7a72305820c7ded3bb7b4df1ddcacc69bc384bbdb2dc054af27ac2a6ccf10ddd7f50eac34f0029", "sourceMap": "134:2391:3:-;;;567:5:27;:18;;-1:-1:-1;;;;;;567:18:27;575:10;567:18;;;134:2391:3;;;;;;", "deployedSourceMap": "134:2391:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1040:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1040:141:3;;;;;;;;;-1:-1:-1;;;;;1040:141:3;;;;;;;;;;;;;;776:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;776:136:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;776:136:3;;-1:-1:-1;776:136:3;;-1:-1:-1;;;;;;;776:136:3;;;307:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:45:3;;;;359:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;359:138:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;359:138:3;;-1:-1:-1;359:138:3;;-1:-1:-1;;;;;;;359:138:3;627:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;627:143:3;;;;;1001:111:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:27;;;;503:118:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;503:118:3;;;;;;;;;;;;;;;;;;;;238:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:27;;;;1187:122:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1187:122:3;-1:-1:-1;;;;;1187:122:3;;;;;918:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;918:116:3;;;;2374:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2374:149:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2374:149:3;;-1:-1:-1;;;2374:149:3;;-1:-1:-1;;;;;2374:149:3;;-1:-1:-1;2374:149:3;;-1:-1:-1;;;2374:149:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2374:149:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1486:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1486:163:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1486:163:3;;-1:-1:-1;;;1486:163:3;;-1:-1:-1;;;;;1486:163:3;;-1:-1:-1;1486:163:3;;-1:-1:-1;;;1486:163:3;1315:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1315:165:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1315:165:3;;-1:-1:-1;;;1315:165:3;;-1:-1:-1;;;;;1315:165:3;;-1:-1:-1;1315:165:3;;-1:-1:-1;;;1315:165:3;1274:103:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:27;-1:-1:-1;;;;;1274:103:27;;;;;1040:141:3;1106:23;1148:19;1168:5;1148:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1148:26:3;;1040:141;-1:-1:-1;;1040:141:3:o;776:136::-;719:5:27;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;873:32:3;;;;:19;;:32;;;;;:::i;:::-;;776:136;:::o;307:45::-;;;-1:-1:-1;;;;;307:45:3;;:::o;359:138::-;719:5:27;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;457:33:3;;;;:20;;:33;;;;;:::i;627:143::-;694:23;736:20;757:5;736:27;;;;;;;;;1001:111:27;719:5;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:27;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:27;;;1001:111::o;503:118:3:-;587:20;:27;503:118;;:::o;238:20:27:-;;;-1:-1:-1;;;;;238:20:27;;:::o;1187:122:3:-;719:5:27;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;1276:14:3;:26;;-1:-1:-1;;1276:26:3;-1:-1:-1;;;;;1276:26:3;;;;;;;;;;1187:122::o;918:116::-;1001:19;:26;918:116;:::o;2374:149::-;2479:14;;:37;;;;;;-1:-1:-1;;;;;2479:37:3;;;;;;;;;;;;;;;;;;;;;2444:16;;2479:14;;;;;:21;;2501:7;;2510:5;;2479:37;;;;;;;;;;;;;;;:14;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2479:37:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2479:37:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2479:37:3;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2479:37:3;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;2479:37:3;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;-1:-1;2479:37:3;;2374:149;-1:-1:-1;;;;;;;2374:149:3:o;1486:163::-;1561:17;1597:45;1606:7;1615:5;1622:19;1597:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1597:45:3;;;;;;;;;;;;;;;;;;;;;:8;:45::i;:::-;1590:52;1486:163;-1:-1:-1;;;1486:163:3:o;1315:165::-;1391:17;1427:46;1436:7;1445:5;1452:20;1427:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1427:46:3;;;;;;;;;;;;;;;;;;;;:8;:46::i;1274:103:27:-;719:5;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;1655:713:3:-;1789:24;;;;;;;;;;;;;;;;;1771:6;;1823:11;;;1771:6;1848:461;1869:15;:22;1865:1;:26;1848:461;;;1947:15;1963:1;1947:18;;;;;;;;;;;;;;;;;;1912:53;;2002:8;-1:-1:-1;;;;;2002:15:3;;2018:7;2027:5;2002:31;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2002:31:3;-1:-1:-1;;;;;2002:31:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2002:31:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2002:31:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2002:31:3;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2002:31:3;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;2002:31:3;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;2002:31:3;;;;;;1979:54;;2074:1;2057:6;2051:20;:24;2047:252;;;2108:1;2099:6;:10;2095:100;;;2140:36;2162:13;:11;;;;;;;;;;;;;;;;;;;:13::i;:::-;2140:14;:4;:12;:14::i;:::-;:21;:36;:21;:36;:::i;:::-;2133:43;;2095:100;2219:39;2241:16;:6;:14;:16::i;2219:39::-;2212:46;-1:-1:-1;2276:8:3;;;;;2047:252;1893:3;;;;;1848:461;;;2325:36;2347:13;:11;;;;;;;;;;;;;;;;;;;:13::i;2325:36::-;2318:43;1655:713;-1:-1:-1;;;;;;;;;1655:713:3:o;1512:171:27:-;-1:-1:-1;;;;;1582:23:27;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:27;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:27;-1:-1:-1;;;;;1661:17:27;;;;;;;;;;1512:171::o;2837:210:18:-;2897:5;;:::i;:::-;-1:-1:-1;3010:30:18;;;;;;;;;3016:18;;3010:30;;2979:4;2969:15;;;3010:30;;;;;;;;2837:210::o;23944:355::-;24022:6;24047:17;24111:11;24090:5;:10;;;24078:4;:9;;;:22;24067:34;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;24067:34:18;;24047:54;;24162:2;24157:3;24153:12;24143:22;;24176:36;24183:6;24191:4;:9;;;24202:4;:9;;;24176:6;:36::i;:::-;24238:9;;24249:10;;;;24261;;24222:50;;24229:18;;;24249:10;24222:6;:50::i;:::-;-1:-1:-1;24289:3:18;23944:355;-1:-1:-1;;;23944:355:18:o;2089:548::-;2415:9;2209:164;2222:2;2215:9;;2209:164;;2291:10;;2278:24;;2337:2;2329:10;;;;2353:9;;;;-1:-1:-1;;2226:9:18;;;;2209:164;;;-1:-1:-1;2500:10:18;;2555:11;;2435:2;:8;;;;2427:3;:17;-1:-1:-1;;2427:21:18;2512:9;;2496:26;;;2551:22;;2599:21;2586:35;;2467:164::o;134:2391:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;134:2391:3;-1:-1:-1;;;;;134:2391:3;;;;;;;;;;;-1:-1:-1;134:2391:3;;;;;;;-1:-1:-1;134:2391:3;;;-1:-1:-1;134:2391:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;-1:-1:-1;134:2391:3;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;134:2391:3;;;;;;", "source": "pragma solidity ^0.4.24;\n\nimport \"../ERC20Sale.sol\";\nimport \"./ERC20SaleWidgetRenderer.sol\";\nimport \"./ERC20SaleInputsRenderer.sol\";\n\ncontract ERC20SaleRenderer is Ownable {\n using strings for *;\n\n ERC20SaleWidgetRenderer[] adminWidgetRenderers;\n ERC20SaleWidgetRenderer[] userWidgetRenderers;\n ERC20SaleInputsRenderer public inputsRenderer;\n\n function setAdminWidgetRenderers(ERC20SaleWidgetRenderer[] _renderers) onlyOwner public {\n adminWidgetRenderers = _renderers;\n }\n\n function numberOfAdminWidgetRenderers() public view returns (uint) {\n return adminWidgetRenderers.length;\n }\n\n function getAdminWidgetRendererAt(uint index) public view returns (ERC20SaleWidgetRenderer) {\n return adminWidgetRenderers[index];\n }\n\n function setUserWidgetRenderers(ERC20SaleWidgetRenderer[] _renderers) onlyOwner public {\n userWidgetRenderers = _renderers;\n }\n\n function numberOfUserWidgetRenderers() public view returns (uint) {\n return userWidgetRenderers.length;\n }\n\n function getUserWidgetRendererAt(uint index) public view returns (ERC20SaleWidgetRenderer) {\n return userWidgetRenderers[index];\n }\n\n function setInputsRenderer(ERC20SaleInputsRenderer _renderer) onlyOwner public {\n inputsRenderer = _renderer;\n }\n\n function adminWidgets(string _locale, ERC20Sale _sale) public view returns (string jsonObject) {\n return _widgets(_locale, _sale, adminWidgetRenderers);\n }\n\n function userWidgets(string _locale, ERC20Sale _sale) public view returns (string jsonObject) {\n return _widgets(_locale, _sale, userWidgetRenderers);\n }\n\n function _widgets(string _locale, ERC20Sale _sale, ERC20SaleWidgetRenderer[] _widgetRenderes) private view returns (string) {\n string memory json = \"[\";\n uint length = 0;\n for (uint i = 0; i < _widgetRenderes.length; i++) {\n ERC20SaleWidgetRenderer renderer = _widgetRenderes[i];\n string memory widget = renderer.render(_locale, _sale);\n if (bytes(widget).length > 0) {\n if (length > 0) {\n json = json.toSlice().concat(\",\".toSlice());\n }\n json = json.toSlice().concat(widget.toSlice());\n length++;\n }\n }\n return json.toSlice().concat(\"]\".toSlice());\n }\n\n function inputs(string _locale, ERC20Sale _sale) public view returns (string jsonArray) {\n return inputsRenderer.render(_locale, _sale);\n }\n}\n", "sourcePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20sale/contracts/sale/erc20/widget/ERC20SaleRenderer.sol", "ast": { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20sale/contracts/sale/erc20/widget/ERC20SaleRenderer.sol", "exportedSymbols": { "ERC20SaleRenderer": [ 1155 ] }, "id": 1156, "nodeType": "SourceUnit", "nodes": [ { "id": 916, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:3" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20sale/contracts/sale/erc20/ERC20Sale.sol", "file": "../ERC20Sale.sol", "id": 917, "nodeType": "ImportDirective", "scope": 1156, "sourceUnit": 387, "src": "26:26:3", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20sale/contracts/sale/erc20/widget/ERC20SaleWidgetRenderer.sol", "file": "./ERC20SaleWidgetRenderer.sol", "id": 918, "nodeType": "ImportDirective", "scope": 1156, "sourceUnit": 1175, "src": "53:39:3", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20sale/contracts/sale/erc20/widget/ERC20SaleInputsRenderer.sol", "file": "./ERC20SaleInputsRenderer.sol", "id": 919, "nodeType": "ImportDirective", "scope": 1156, "sourceUnit": 915, "src": "93:39:3", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 920, "name": "Ownable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 5355, "src": "164:7:3", "typeDescriptions": { "typeIdentifier": "t_contract$_Ownable_$5355", "typeString": "contract Ownable" } }, "id": 921, "nodeType": "InheritanceSpecifier", "src": "164:7:3" } ], "contractDependencies": [ 5355 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 1155, "linearizedBaseContracts": [ 1155, 5355 ], "name": "ERC20SaleRenderer", "nodeType": "ContractDefinition", "nodes": [ { "id": 923, "libraryName": { "contractScope": null, "id": 922, "name": "strings", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4333, "src": "184:7:3", "typeDescriptions": { "typeIdentifier": "t_contract$_strings_$4333", "typeString": "library strings" } }, "nodeType": "UsingForDirective", "src": "178:20:3", "typeName": null }, { "constant": false, "id": 926, "name": "adminWidgetRenderers", "nodeType": "VariableDeclaration", "scope": 1155, "src": "204:46:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage", "typeString": "contract ERC20SaleWidgetRenderer[]" }, "typeName": { "baseType": { "contractScope": null, "id": 924, "name": "ERC20SaleWidgetRenderer", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1174, "src": "204:23:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20SaleWidgetRenderer_$1174", "typeString": "contract ERC20SaleWidgetRenderer" } }, "id": 925, "length": null, "nodeType": "ArrayTypeName", "src": "204:25:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage_ptr", "typeString": "contract ERC20SaleWidgetRenderer[]" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 929, "name": "userWidgetRenderers", "nodeType": "VariableDeclaration", "scope": 1155, "src": "256:45:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage", "typeString": "contract ERC20SaleWidgetRenderer[]" }, "typeName": { "baseType": { "contractScope": null, "id": 927, "name": "ERC20SaleWidgetRenderer", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1174, "src": "256:23:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20SaleWidgetRenderer_$1174", "typeString": "contract ERC20SaleWidgetRenderer" } }, "id": 928, "length": null, "nodeType": "ArrayTypeName", "src": "256:25:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage_ptr", "typeString": "contract ERC20SaleWidgetRenderer[]" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 931, "name": "inputsRenderer", "nodeType": "VariableDeclaration", "scope": 1155, "src": "307:45:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20SaleInputsRenderer_$914", "typeString": "contract ERC20SaleInputsRenderer" }, "typeName": { "contractScope": null, "id": 930, "name": "ERC20SaleInputsRenderer", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 914, "src": "307:23:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20SaleInputsRenderer_$914", "typeString": "contract ERC20SaleInputsRenderer" } }, "value": null, "visibility": "public" }, { "body": { "id": 943, "nodeType": "Block", "src": "447:50:3", "statements": [ { "expression": { "argumentTypes": null, "id": 941, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 939, "name": "adminWidgetRenderers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 926, "src": "457:20:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage", "typeString": "contract ERC20SaleWidgetRenderer[] storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 940, "name": "_renderers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, "src": "480:10:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_memory_ptr", "typeString": "contract ERC20SaleWidgetRenderer[] memory" } }, "src": "457:33:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage", "typeString": "contract ERC20SaleWidgetRenderer[] storage ref" } }, "id": 942, "nodeType": "ExpressionStatement", "src": "457:33:3" } ] }, "documentation": null, "id": 944, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 937, "modifierName": { "argumentTypes": null, "id": 936, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5303, "src": "430:9:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "430:9:3" } ], "name": "setAdminWidgetRenderers", "nodeType": "FunctionDefinition", "parameters": { "id": 935, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 934, "name": "_renderers", "nodeType": "VariableDeclaration", "scope": 944, "src": "392:36:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_memory_ptr", "typeString": "contract ERC20SaleWidgetRenderer[]" }, "typeName": { "baseType": { "contractScope": null, "id": 932, "name": "ERC20SaleWidgetRenderer", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1174, "src": "392:23:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20SaleWidgetRenderer_$1174", "typeString": "contract ERC20SaleWidgetRenderer" } }, "id": 933, "length": null, "nodeType": "ArrayTypeName", "src": "392:25:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage_ptr", "typeString": "contract ERC20SaleWidgetRenderer[]" } }, "value": null, "visibility": "internal" } ], "src": "391:38:3" }, "payable": false, "returnParameters": { "id": 938, "nodeType": "ParameterList", "parameters": [], "src": "447:0:3" }, "scope": 1155, "src": "359:138:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 952, "nodeType": "Block", "src": "570:51:3", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 949, "name": "adminWidgetRenderers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 926, "src": "587:20:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage", "typeString": "contract ERC20SaleWidgetRenderer[] storage ref" } }, "id": 950, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "587:27:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 948, "id": 951, "nodeType": "Return", "src": "580:34:3" } ] }, "documentation": null, "id": 953, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "numberOfAdminWidgetRenderers", "nodeType": "FunctionDefinition", "parameters": { "id": 945, "nodeType": "ParameterList", "parameters": [], "src": "540:2:3" }, "payable": false, "returnParameters": { "id": 948, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 947, "name": "", "nodeType": "VariableDeclaration", "scope": 953, "src": "564:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 946, "name": "uint", "nodeType": "ElementaryTypeName", "src": "564:4:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "563:6:3" }, "scope": 1155, "src": "503:118:3", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 964, "nodeType": "Block", "src": "719:51:3", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 960, "name": "adminWidgetRenderers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 926, "src": "736:20:3", "typeDescriptions": { "typeIdentifier": "t_array$_t_contract$_ERC20SaleWidgetRenderer_$1174_$dyn_storage", "typeString": "contract ERC20SaleWidgetRenderer[] storage ref" } }, "id": 962, "indexExpression": { "argumentTypes": null, "id": 961, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 955, "src": "757:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "736:27:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20SaleWidgetRenderer_$1174", "typeString": "contract ERC20SaleWidgetRenderer" } }, "functionReturnParameters": 959, "id": 963, "nodeType": "Return", "src": "729:34:3" } ] }, "documentation": null, "id": 965, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getAdminWidgetRendererAt", "nodeType": "FunctionDefinition", "parameters": { "id": 956, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 955, "name": "index", "nodeType": "VariableDeclaration", "scope": 965, "src": "661:10:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 954, "name": "uint", "nodeType": "ElementaryTypeName", "src": "661:4:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "660:12:3" }, "payable": false, "returnParameters": { "id": 959, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 958, "name": "", "nodeType": "VariableDeclaration", "scope": 965, "src": "694:23:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20SaleWidgetRenderer_$1174", "typeString": "contract ERC20SaleWidgetRenderer" }, "typeName": { "contractScope": null, "id": 957, "name": "ERC20SaleWidgetRenderer", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1174, "src": "694:23:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20SaleWidgetRenderer_$1174", "typeString": "contract ERC20SaleWidgetRenderer" } }, "value": null, "visibility": "internal" } ], "src": "693:25:3" }, "scope": 1155, "src": "627:143:3", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 977, "nodeType": "Block", "src": "863:49:3", "statements": [ { "expression": { "argumentTypes": null, "id": 975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 973, "name": "userWidgetRenderers", "nodeType": "Identifier",