tokenboost-solidity-erc20token
Version:
Solidity contracts for TokenBoost (ERC20Token)
866 lines (865 loc) • 289 kB
JSON
{
"contractName": "ERC20TokenRenderer",
"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": "_token",
"type": "address"
}
],
"name": "adminWidgets",
"outputs": [
{
"name": "jsonObject",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_locale",
"type": "string"
},
{
"name": "_token",
"type": "address"
}
],
"name": "userWidgets",
"outputs": [
{
"name": "jsonObject",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_locale",
"type": "string"
},
{
"name": "_token",
"type": "address"
}
],
"name": "inputs",
"outputs": [
{
"name": "jsonArray",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405260008054600160a060020a03191633179055610cdd806100256000396000f3006080604052600436106100ce5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416626c8e7f81146100d3578063020849be146101075780630a709e591461015e5780633634a20c146101735780635d36af89146101c8578063715018a6146101e057806385295c19146101f55780638da5cb5b1461021c578063a1f40d8f14610231578063bbb7b46a14610252578063bf3bed5414610267578063e77cee3d14610340578063e9499555146103a4578063f2fde38b14610408575b600080fd5b3480156100df57600080fd5b506100eb600435610429565b60408051600160a060020a039092168252519081900360200190f35b34801561011357600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104559650505050505050565b005b34801561016a57600080fd5b506100eb610483565b34801561017f57600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104929650505050505050565b3480156101d457600080fd5b506100eb6004356104bc565b3480156101ec57600080fd5b5061015c6104cd565b34801561020157600080fd5b5061020a610539565b60408051918252519081900360200190f35b34801561022857600080fd5b506100eb610540565b34801561023d57600080fd5b5061015c600160a060020a036004351661054f565b34801561025e57600080fd5b5061020a610595565b34801561027357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061059b92505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103055781810151838201526020016102ed565b50505050905090810190601f1680156103325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a031693506106ff92505050565b3480156103b057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061076d92505050565b34801561041457600080fd5b5061015c600160a060020a03600435166107d2565b600060028281548110151561043a57fe5b600091825260209091200154600160a060020a031692915050565b600054600160a060020a0316331461046c57600080fd5b805161047f906002906020840190610bf7565b5050565b600354600160a060020a031681565b600054600160a060020a031633146104a957600080fd5b805161047f906001906020840190610bf7565b600060018281548110151561043a57fe5b600054600160a060020a031633146104e457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6001545b90565b600054600160a060020a031681565b600054600160a060020a0316331461056657600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025490565b600354604080517fca1a70be000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260048201928352855160448301528551606094919091169263ca1a70be9287928792918291606490910190602086019080838360005b8381101561062357818101518382015260200161060b565b50505050905090810190601f1680156106505780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156106ad57600080fd5b8101908080516401000000008111156106c557600080fd5b820160208101848111156106d857600080fd5b81516401000000008111828201871017156106f257600080fd5b5090979650505050505050565b60606107668383600280548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161073e575b50505050506107f5565b9392505050565b60606107668383600180548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020908154600160a060020a0316815260019091019060200180831161073e5750505050506107f5565b600054600160a060020a031633146107e957600080fd5b6107f281610a99565b50565b60408051808201909152600181527f5b00000000000000000000000000000000000000000000000000000000000000602082015260609060008080845b8651831015610a4b57868381518110151561084957fe5b90602001906020020151915081600160a060020a031663ca1a70be8a8a6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156108e65781810151838201526020016108ce565b50505050905090810190601f1680156109135780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561093357600080fd5b505af1158015610947573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561097057600080fd5b81019080805164010000000081111561098857600080fd5b8201602081018481111561099b57600080fd5b81516401000000008111828201871017156109b557600080fd5b50509291905050509050600081511115610a40576000841115610a2b57610a28610a136040805190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250610b16565b610a1c87610b16565b9063ffffffff610b3c16565b94505b610a37610a1382610b16565b94506001909301925b600190920191610832565b610a8c610a136040805190810160405280600181526020017f5d00000000000000000000000000000000000000000000000000000000000000815250610b16565b9998505050505050505050565b600160a060020a0381161515610aae57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610b1e610c69565b50604080518082019091528151815260209182019181019190915290565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015610b79578160200160208202803883390190505b509150602082019050610b958186602001518760000151610bb3565b845160208501518551610bab9284019190610bb3565b509392505050565b60005b60208210610bd8578251845260209384019390920191601f1990910190610bb6565b50905182516020929092036101000a6000190180199091169116179052565b828054828255906000526020600020908101928215610c59579160200282015b82811115610c59578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190610c17565b50610c65929150610c80565b5090565b604080518082019091526000808252602082015290565b61053d91905b80821115610c6557805473ffffffffffffffffffffffffffffffffffffffff19168155600101610c865600a165627a7a72305820d9e22611b80ef66251d83a353b6a2b9eb02ab889ce075e106b3ffe8ad038d2bd0029",
"deployedBytecode": "0x6080604052600436106100ce5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416626c8e7f81146100d3578063020849be146101075780630a709e591461015e5780633634a20c146101735780635d36af89146101c8578063715018a6146101e057806385295c19146101f55780638da5cb5b1461021c578063a1f40d8f14610231578063bbb7b46a14610252578063bf3bed5414610267578063e77cee3d14610340578063e9499555146103a4578063f2fde38b14610408575b600080fd5b3480156100df57600080fd5b506100eb600435610429565b60408051600160a060020a039092168252519081900360200190f35b34801561011357600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104559650505050505050565b005b34801561016a57600080fd5b506100eb610483565b34801561017f57600080fd5b506040805160206004803580820135838102808601850190965280855261015c953695939460249493850192918291850190849080828437509497506104929650505050505050565b3480156101d457600080fd5b506100eb6004356104bc565b3480156101ec57600080fd5b5061015c6104cd565b34801561020157600080fd5b5061020a610539565b60408051918252519081900360200190f35b34801561022857600080fd5b506100eb610540565b34801561023d57600080fd5b5061015c600160a060020a036004351661054f565b34801561025e57600080fd5b5061020a610595565b34801561027357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061059b92505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103055781810151838201526020016102ed565b50505050905090810190601f1680156103325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a031693506106ff92505050565b3480156103b057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102cb94369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061076d92505050565b34801561041457600080fd5b5061015c600160a060020a03600435166107d2565b600060028281548110151561043a57fe5b600091825260209091200154600160a060020a031692915050565b600054600160a060020a0316331461046c57600080fd5b805161047f906002906020840190610bf7565b5050565b600354600160a060020a031681565b600054600160a060020a031633146104a957600080fd5b805161047f906001906020840190610bf7565b600060018281548110151561043a57fe5b600054600160a060020a031633146104e457600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6001545b90565b600054600160a060020a031681565b600054600160a060020a0316331461056657600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025490565b600354604080517fca1a70be000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260048201928352855160448301528551606094919091169263ca1a70be9287928792918291606490910190602086019080838360005b8381101561062357818101518382015260200161060b565b50505050905090810190601f1680156106505780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156106ad57600080fd5b8101908080516401000000008111156106c557600080fd5b820160208101848111156106d857600080fd5b81516401000000008111828201871017156106f257600080fd5b5090979650505050505050565b60606107668383600280548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831161073e575b50505050506107f5565b9392505050565b60606107668383600180548060200260200160405190810160405280929190818152602001828054801561075c57602002820191906000526020600020908154600160a060020a0316815260019091019060200180831161073e5750505050506107f5565b600054600160a060020a031633146107e957600080fd5b6107f281610a99565b50565b60408051808201909152600181527f5b00000000000000000000000000000000000000000000000000000000000000602082015260609060008080845b8651831015610a4b57868381518110151561084957fe5b90602001906020020151915081600160a060020a031663ca1a70be8a8a6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156108e65781810151838201526020016108ce565b50505050905090810190601f1680156109135780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561093357600080fd5b505af1158015610947573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561097057600080fd5b81019080805164010000000081111561098857600080fd5b8201602081018481111561099b57600080fd5b81516401000000008111828201871017156109b557600080fd5b50509291905050509050600081511115610a40576000841115610a2b57610a28610a136040805190810160405280600181526020017f2c00000000000000000000000000000000000000000000000000000000000000815250610b16565b610a1c87610b16565b9063ffffffff610b3c16565b94505b610a37610a1382610b16565b94506001909301925b600190920191610832565b610a8c610a136040805190810160405280600181526020017f5d00000000000000000000000000000000000000000000000000000000000000815250610b16565b9998505050505050505050565b600160a060020a0381161515610aae57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610b1e610c69565b50604080518082019091528151815260209182019181019190915290565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015610b79578160200160208202803883390190505b509150602082019050610b958186602001518760000151610bb3565b845160208501518551610bab9284019190610bb3565b509392505050565b60005b60208210610bd8578251845260209384019390920191601f1990910190610bb6565b50905182516020929092036101000a6000190180199091169116179052565b828054828255906000526020600020908101928215610c59579160200282015b82811115610c59578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909116178255602090920191600190910190610c17565b50610c65929150610c80565b5090565b604080518082019091526000808252602082015290565b61053d91905b80821115610c6557805473ffffffffffffffffffffffffffffffffffffffff19168155600101610c865600a165627a7a72305820d9e22611b80ef66251d83a353b6a2b9eb02ab889ce075e106b3ffe8ad038d2bd0029",
"sourceMap": "109:2414:4:-;;;567:5:27;:18;;-1:-1:-1;;;;;;567:18:27;575:10;567:18;;;109:2414:4;;;;;;",
"deployedSourceMap": "109:2414:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1022:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1022:142:4;;;;;;;;;-1:-1:-1;;;;;1022:142:4;;;;;;;;;;;;;;757:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;757:137:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;757:137:4;;-1:-1:-1;757:137:4;;-1:-1:-1;;;;;;;757:137:4;;;285:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;285:46:4;;;;338:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;338:139:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;338:139:4;;-1:-1:-1;338:139:4;;-1:-1:-1;;;;;;;338:139:4;607:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;607:144:4;;;;;1001:111:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:27;;;;483:118:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;483:118:4;;;;;;;;;;;;;;;;;;;;238:20:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:27;;;;1170:123:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1170:123:4;-1:-1:-1;;;;;1170:123:4;;;;;900:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;900:116:4;;;;2369:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2369:152:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2369:152:4;;-1:-1:-1;;;2369:152:4;;-1:-1:-1;;;;;2369:152:4;;-1:-1:-1;2369:152:4;;-1:-1:-1;;;2369:152:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2369:152:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1473:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1473:166:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1473:166:4;;-1:-1:-1;;;1473:166:4;;-1:-1:-1;;;;;1473:166:4;;-1:-1:-1;1473:166:4;;-1:-1:-1;;;1473:166:4;1299:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1299:168:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1299:168:4;;-1:-1:-1;;;1299:168:4;;-1:-1:-1;;;;;1299:168:4;;-1:-1:-1;1299:168:4;;-1:-1:-1;;;1299:168:4;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;;;;;1022:142:4;1088:24;1131:19;1151:5;1131:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1131:26:4;;1022:142;-1:-1:-1;;1022:142:4:o;757:137::-;719:5:27;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;855:32:4;;;;:19;;:32;;;;;:::i;:::-;;757:137;:::o;285:46::-;;;-1:-1:-1;;;;;285:46:4;;:::o;338:139::-;719:5:27;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;437:33:4;;;;:20;;:33;;;;;:::i;607:144::-;674:24;717:20;738:5;717: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;483:118:4:-;567:20;:27;483:118;;:::o;238:20:27:-;;;-1:-1:-1;;;;;238:20:27;;:::o;1170:123:4:-;719:5:27;;-1:-1:-1;;;;;719:5:27;705:10;:19;697:28;;;;;;1260:14:4;:26;;-1:-1:-1;;1260:26:4;-1:-1:-1;;;;;1260:26:4;;;;;;;;;;1170:123::o;900:116::-;983:19;:26;900:116;:::o;2369:152::-;2476:14;;:38;;;;;;-1:-1:-1;;;;;2476:38:4;;;;;;;;;;;;;;;;;;;;;2441:16;;2476:14;;;;;:21;;2498:7;;2507:6;;2476:38;;;;;;;;;;;;;;;: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;2476:38:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2476:38:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2476:38:4;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2476:38:4;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;2476:38:4;;;;;;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;2476:38:4;;2369:152;-1:-1:-1;;;;;;;2369:152:4:o;1473:166::-;1550:17;1586:46;1595:7;1604:6;1612:19;1586:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1586:46:4;;;;;;;;;;;;;;;;;;;;;:8;:46::i;:::-;1579:53;1473:166;-1:-1:-1;;;1473:166:4:o;1299:168::-;1377:17;1413:47;1422:7;1431:6;1439:20;1413:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1413:47:4;;;;;;;;;;;;;;;;;;;;:8;:47::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;1645:718:4:-;1782:24;;;;;;;;;;;;;;;;;1764:6;;1816:11;;;1764:6;1841:463;1862:15;:22;1858:1;:26;1841:463;;;1941:15;1957:1;1941:18;;;;;;;;;;;;;;;;;;1905:54;;1996:8;-1:-1:-1;;;;;1996:15:4;;2012:7;2021:6;1996:32;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1996:32:4;-1:-1:-1;;;;;1996:32:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1996:32:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1996:32:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1996:32:4;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1996:32:4;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;1996:32:4;;;;;;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;;1996:32:4;;;;;;1973:55;;2069:1;2052:6;2046:20;:24;2042:252;;;2103:1;2094:6;:10;2090:100;;;2135:36;2157:13;:11;;;;;;;;;;;;;;;;;;;:13::i;:::-;2135:14;:4;:12;:14::i;:::-;:21;:36;:21;:36;:::i;:::-;2128:43;;2090:100;2214:39;2236:16;:6;:14;:16::i;2214:39::-;2207:46;-1:-1:-1;2271:8:4;;;;;2042:252;1886:3;;;;;1841:463;;;2320:36;2342:13;:11;;;;;;;;;;;;;;;;;;;:13::i;2320:36::-;2313:43;1645:718;-1:-1:-1;;;;;;;;;1645:718:4: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:15:-;2897:5;;:::i;:::-;-1:-1:-1;3010:30:15;;;;;;;;;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:15;;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:15;23944:355;-1:-1:-1;;;23944:355:15: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:15;;;;2209:164;;;-1:-1:-1;2500:10:15;;2555:11;;2435:2;:8;;;;2427:3;:17;-1:-1:-1;;2427:21:15;2512:9;;2496:26;;;2551:22;;2599:21;2586:35;;2467:164::o;109:2414:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;109:2414:4;-1:-1:-1;;;;;109:2414:4;;;;;;;;;;;-1:-1:-1;109:2414:4;;;;;;;-1:-1:-1;109:2414:4;;;-1:-1:-1;109:2414:4;:::i;:::-;;;:::o;:::-;;;;;;;;;;-1:-1:-1;109:2414:4;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;109:2414:4;;;;;;",
"source": "pragma solidity ^0.4.24;\n\nimport \"./ERC20TokenWidgetRenderer.sol\";\nimport \"./ERC20TokenInputsRenderer.sol\";\n\ncontract ERC20TokenRenderer is Ownable {\n using strings for *;\n\n ERC20TokenWidgetRenderer[] adminWidgetRenderers;\n ERC20TokenWidgetRenderer[] userWidgetRenderers;\n ERC20TokenInputsRenderer public inputsRenderer;\n\n function setAdminWidgetRenderers(ERC20TokenWidgetRenderer[] _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 (ERC20TokenWidgetRenderer) {\n return adminWidgetRenderers[index];\n }\n\n function setUserWidgetRenderers(ERC20TokenWidgetRenderer[] _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 (ERC20TokenWidgetRenderer) {\n return userWidgetRenderers[index];\n }\n\n function setInputsRenderer(ERC20TokenInputsRenderer _renderer) onlyOwner public {\n inputsRenderer = _renderer;\n }\n\n function adminWidgets(string _locale, ERC20Token _token) public view returns (string jsonObject) {\n return _widgets(_locale, _token, adminWidgetRenderers);\n }\n\n function userWidgets(string _locale, ERC20Token _token) public view returns (string jsonObject) {\n return _widgets(_locale, _token, userWidgetRenderers);\n }\n\n function _widgets(string _locale, ERC20Token _token, ERC20TokenWidgetRenderer[] _widgetRenderes) private view returns (string) {\n string memory json = \"[\";\n uint length = 0;\n for (uint i = 0; i < _widgetRenderes.length; i++) {\n ERC20TokenWidgetRenderer renderer = _widgetRenderes[i];\n string memory widget = renderer.render(_locale, _token);\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, ERC20Token _token) public view returns (string jsonArray) {\n return inputsRenderer.render(_locale, _token);\n }\n}\n",
"sourcePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenRenderer.sol",
"ast": {
"absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenRenderer.sol",
"exportedSymbols": {
"ERC20TokenRenderer": [
1009
]
},
"id": 1010,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 771,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:4"
},
{
"absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenWidgetRenderer.sol",
"file": "./ERC20TokenWidgetRenderer.sol",
"id": 772,
"nodeType": "ImportDirective",
"scope": 1010,
"sourceUnit": 1029,
"src": "26:40:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity-erc20token/contracts/token/erc20/widget/ERC20TokenInputsRenderer.sol",
"file": "./ERC20TokenInputsRenderer.sol",
"id": 773,
"nodeType": "ImportDirective",
"scope": 1010,
"sourceUnit": 770,
"src": "67:40:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 774,
"name": "Ownable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4601,
"src": "140:7:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Ownable_$4601",
"typeString": "contract Ownable"
}
},
"id": 775,
"nodeType": "InheritanceSpecifier",
"src": "140:7:4"
}
],
"contractDependencies": [
4601
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 1009,
"linearizedBaseContracts": [
1009,
4601
],
"name": "ERC20TokenRenderer",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 777,
"libraryName": {
"contractScope": null,
"id": 776,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3342,
"src": "160:7:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$3342",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "154:20:4",
"typeName": null
},
{
"constant": false,
"id": 780,
"name": "adminWidgetRenderers",
"nodeType": "VariableDeclaration",
"scope": 1009,
"src": "180:47:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage",
"typeString": "contract ERC20TokenWidgetRenderer[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 778,
"name": "ERC20TokenWidgetRenderer",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1028,
"src": "180:24:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20TokenWidgetRenderer_$1028",
"typeString": "contract ERC20TokenWidgetRenderer"
}
},
"id": 779,
"length": null,
"nodeType": "ArrayTypeName",
"src": "180:26:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage_ptr",
"typeString": "contract ERC20TokenWidgetRenderer[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 783,
"name": "userWidgetRenderers",
"nodeType": "VariableDeclaration",
"scope": 1009,
"src": "233:46:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage",
"typeString": "contract ERC20TokenWidgetRenderer[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 781,
"name": "ERC20TokenWidgetRenderer",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1028,
"src": "233:24:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20TokenWidgetRenderer_$1028",
"typeString": "contract ERC20TokenWidgetRenderer"
}
},
"id": 782,
"length": null,
"nodeType": "ArrayTypeName",
"src": "233:26:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage_ptr",
"typeString": "contract ERC20TokenWidgetRenderer[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 785,
"name": "inputsRenderer",
"nodeType": "VariableDeclaration",
"scope": 1009,
"src": "285:46:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20TokenInputsRenderer_$769",
"typeString": "contract ERC20TokenInputsRenderer"
},
"typeName": {
"contractScope": null,
"id": 784,
"name": "ERC20TokenInputsRenderer",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 769,
"src": "285:24:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20TokenInputsRenderer_$769",
"typeString": "contract ERC20TokenInputsRenderer"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 797,
"nodeType": "Block",
"src": "427:50:4",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 795,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 793,
"name": "adminWidgetRenderers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 780,
"src": "437:20:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage",
"typeString": "contract ERC20TokenWidgetRenderer[] storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 794,
"name": "_renderers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 788,
"src": "460:10:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_memory_ptr",
"typeString": "contract ERC20TokenWidgetRenderer[] memory"
}
},
"src": "437:33:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage",
"typeString": "contract ERC20TokenWidgetRenderer[] storage ref"
}
},
"id": 796,
"nodeType": "ExpressionStatement",
"src": "437:33:4"
}
]
},
"documentation": null,
"id": 798,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 791,
"modifierName": {
"argumentTypes": null,
"id": 790,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4549,
"src": "410:9:4",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "410:9:4"
}
],
"name": "setAdminWidgetRenderers",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 789,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 788,
"name": "_renderers",
"nodeType": "VariableDeclaration",
"scope": 798,
"src": "371:37:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_memory_ptr",
"typeString": "contract ERC20TokenWidgetRenderer[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 786,
"name": "ERC20TokenWidgetRenderer",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1028,
"src": "371:24:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20TokenWidgetRenderer_$1028",
"typeString": "contract ERC20TokenWidgetRenderer"
}
},
"id": 787,
"length": null,
"nodeType": "ArrayTypeName",
"src": "371:26:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage_ptr",
"typeString": "contract ERC20TokenWidgetRenderer[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "370:39:4"
},
"payable": false,
"returnParameters": {
"id": 792,
"nodeType": "ParameterList",
"parameters": [],
"src": "427:0:4"
},
"scope": 1009,
"src": "338:139:4",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 806,
"nodeType": "Block",
"src": "550:51:4",
"statements": [
{
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 803,
"name": "adminWidgetRenderers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 780,
"src": "567:20:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage",
"typeString": "contract ERC20TokenWidgetRenderer[] storage ref"
}
},
"id": 804,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "567:27:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 802,
"id": 805,
"nodeType": "Return",
"src": "560:34:4"
}
]
},
"documentation": null,
"id": 807,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "numberOfAdminWidgetRenderers",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 799,
"nodeType": "ParameterList",
"parameters": [],
"src": "520:2:4"
},
"payable": false,
"returnParameters": {
"id": 802,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 801,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 807,
"src": "544:4:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 800,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "544:4:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "543:6:4"
},
"scope": 1009,
"src": "483:118:4",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 818,
"nodeType": "Block",
"src": "700:51:4",
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 814,
"name": "adminWidgetRenderers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 780,
"src": "717:20:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage",
"typeString": "contract ERC20TokenWidgetRenderer[] storage ref"
}
},
"id": 816,
"indexExpression": {
"argumentTypes": null,
"id": 815,
"name": "index",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 809,
"src": "738:5:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "717:27:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20TokenWidgetRenderer_$1028",
"typeString": "contract ERC20TokenWidgetRenderer"
}
},
"functionReturnParameters": 813,
"id": 817,
"nodeType": "Return",
"src": "710:34:4"
}
]
},
"documentation": null,
"id": 819,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getAdminWidgetRendererAt",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 810,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 809,
"name": "index",
"nodeType": "VariableDeclaration",
"scope": 819,
"src": "641:10:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 808,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "641:4:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "640:12:4"
},
"payable": false,
"returnParameters": {
"id": 813,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 812,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 819,
"src": "674:24:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20TokenWidgetRenderer_$1028",
"typeString": "contract ERC20TokenWidgetRenderer"
},
"typeName": {
"contractScope": null,
"id": 811,
"name": "ERC20TokenWidgetRenderer",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1028,
"src": "674:24:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC20TokenWidgetRenderer_$1028",
"typeString": "contract ERC20TokenWidgetRenderer"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "673:26:4"
},
"scope": 1009,
"src": "607:144:4",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 831,
"nodeType": "Block",
"src": "845:49:4",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 829,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 827,
"name": "userWidgetRenderers",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 783,
"src": "855:19:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_ERC20TokenWidgetRenderer_$1028_$dyn_storage",