UNPKG

@dnextco/tokenboost-solidity-erc223token

Version:

Solidity contracts for TokenBoost (ERC223Token)

789 lines 401 kB
{ "contractName": "ERC223StandardToken", "abi": [ { "constant": false, "inputs": [ { "name": "_spender", "type": "address" }, { "name": "_value", "type": "uint256" } ], "name": "approve", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_from", "type": "address" }, { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_spender", "type": "address" }, { "name": "_subtractedValue", "type": "uint256" } ], "name": "decreaseApproval", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_spender", "type": "address" }, { "name": "_addedValue", "type": "uint256" } ], "name": "increaseApproval", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" }, { "name": "_spender", "type": "address" } ], "name": "allowance", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "owner", "type": "address" }, { "indexed": true, "name": "spender", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }, { "indexed": false, "name": "data", "type": "bytes" } ], "name": "Transfer", "type": "event" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "name": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }, { "name": "_data", "type": "bytes" } ], "name": "transfer", "outputs": [ { "name": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }, { "name": "_data", "type": "bytes" }, { "name": "_custom_fallback", "type": "string" } ], "name": "transfer", "outputs": [ { "name": "success", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50610d4f806100206000396000f30060806040526004361061008a5763ffffffff60e060020a600035041663095ea7b3811461008f57806318160ddd146100c757806323b872dd146100ee578063661884631461011857806370a082311461013c578063a9059cbb1461015d578063be45fd6214610181578063d73dd623146101ea578063dd62ed3e1461020e578063f6368f8a14610235575b600080fd5b34801561009b57600080fd5b506100b3600160a060020a03600435166024356102dc565b604080519115158252519081900360200190f35b3480156100d357600080fd5b506100dc610342565b60408051918252519081900360200190f35b3480156100fa57600080fd5b506100b3600160a060020a0360043581169060243516604435610348565b34801561012457600080fd5b506100b3600160a060020a03600435166024356104be565b34801561014857600080fd5b506100dc600160a060020a03600435166105af565b34801561016957600080fd5b506100b3600160a060020a03600435166024356105ca565b34801561018d57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100b3948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506105f99650505050505050565b3480156101f657600080fd5b506100b3600160a060020a0360043516602435610626565b34801561021a57600080fd5b506100dc600160a060020a03600435811690602435166106bf565b34801561024157600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100b3948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506106ea9650505050505050565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b600160a060020a03831660009081526020819052604081205482111561036d57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561039d57600080fd5b600160a060020a03831615156103b257600080fd5b600160a060020a0384166000908152602081905260409020546103db908363ffffffff6109cc16565b600160a060020a038086166000908152602081905260408082209390935590851681522054610410908363ffffffff6109de16565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610452908363ffffffff6109cc16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060015b9392505050565b336000908152600260209081526040808320600160a060020a038616845290915281205480831061051257336000908152600260209081526040808320600160a060020a0388168452909152812055610547565b610522818463ffffffff6109cc16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b600160a060020a031660009081526020819052604090205490565b600060606105d7846109f1565b156105ee576105e78484836109f9565b91506105a8565b6105e7848483610bfc565b6000610604846109f1565b1561061b576106148484846109f9565b90506104b7565b610614848484610bfc565b336000908152600260209081526040808320600160a060020a038616845290915281205461065a908363ffffffff6109de16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60006106f5856109f1565b156109b65783610704336105af565b1161070e57600080fd5b6107278461071b336105af565b9063ffffffff6109cc16565b3360009081526020819052604090205561075084610744876105af565b9063ffffffff6109de16565b60008087600160a060020a0316600160a060020a031681526020019081526020016000208190555084600160a060020a03166000836040516020018082805190602001908083835b602083106107b75780518252601f199092019160209182019101610798565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831061081a5780518252601f1990920191602091820191016107fb565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b838110156108ac578181015183820152602001610894565b50505050905090810190601f1680156108d95780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af1935050505015156108f957fe5b84600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561097357818101518382015260200161095b565b50505050905090810190601f1680156109a05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060016109c4565b6109c1858585610bfc565b90505b949350505050565b6000828211156109d857fe5b50900390565b818101828110156109eb57fe5b92915050565b6000903b1190565b60008083610a06336105af565b11610a1057600080fd5b610a1d8461071b336105af565b33600090815260208190526040902055610a3a84610744876105af565b600160a060020a0386166000818152602081815260408083209490945592517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523360048201818152602483018a90526060604484019081528951606485015289518c9850959663c0ee0b8a9693958c958c956084909101928601918190849084905b83811015610ad6578181015183820152602001610abe565b50505050905090810190601f168015610b035780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b5050505084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bb6578181015183820152602001610b9e565b50505050905090810190601f168015610be35780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b600082610c08336105af565b11610c1257600080fd5b610c1f8361071b336105af565b33600090815260208190526040902055610c3c83610744866105af565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610cde578181015183820152602001610cc6565b50505050905090810190601f168015610d0b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a350600193925050505600a165627a7a723058206b0ff94391cdf7bf41226090cb4d33386a5086a14f407a84c1bf6fb8ea8188fc0029", "deployedBytecode": "0x60806040526004361061008a5763ffffffff60e060020a600035041663095ea7b3811461008f57806318160ddd146100c757806323b872dd146100ee578063661884631461011857806370a082311461013c578063a9059cbb1461015d578063be45fd6214610181578063d73dd623146101ea578063dd62ed3e1461020e578063f6368f8a14610235575b600080fd5b34801561009b57600080fd5b506100b3600160a060020a03600435166024356102dc565b604080519115158252519081900360200190f35b3480156100d357600080fd5b506100dc610342565b60408051918252519081900360200190f35b3480156100fa57600080fd5b506100b3600160a060020a0360043581169060243516604435610348565b34801561012457600080fd5b506100b3600160a060020a03600435166024356104be565b34801561014857600080fd5b506100dc600160a060020a03600435166105af565b34801561016957600080fd5b506100b3600160a060020a03600435166024356105ca565b34801561018d57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100b3948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506105f99650505050505050565b3480156101f657600080fd5b506100b3600160a060020a0360043516602435610626565b34801561021a57600080fd5b506100dc600160a060020a03600435811690602435166106bf565b34801561024157600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100b3948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506106ea9650505050505050565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b600160a060020a03831660009081526020819052604081205482111561036d57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561039d57600080fd5b600160a060020a03831615156103b257600080fd5b600160a060020a0384166000908152602081905260409020546103db908363ffffffff6109cc16565b600160a060020a038086166000908152602081905260408082209390935590851681522054610410908363ffffffff6109de16565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610452908363ffffffff6109cc16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060015b9392505050565b336000908152600260209081526040808320600160a060020a038616845290915281205480831061051257336000908152600260209081526040808320600160a060020a0388168452909152812055610547565b610522818463ffffffff6109cc16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b600160a060020a031660009081526020819052604090205490565b600060606105d7846109f1565b156105ee576105e78484836109f9565b91506105a8565b6105e7848483610bfc565b6000610604846109f1565b1561061b576106148484846109f9565b90506104b7565b610614848484610bfc565b336000908152600260209081526040808320600160a060020a038616845290915281205461065a908363ffffffff6109de16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60006106f5856109f1565b156109b65783610704336105af565b1161070e57600080fd5b6107278461071b336105af565b9063ffffffff6109cc16565b3360009081526020819052604090205561075084610744876105af565b9063ffffffff6109de16565b60008087600160a060020a0316600160a060020a031681526020019081526020016000208190555084600160a060020a03166000836040516020018082805190602001908083835b602083106107b75780518252601f199092019160209182019101610798565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831061081a5780518252601f1990920191602091820191016107fb565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b838110156108ac578181015183820152602001610894565b50505050905090810190601f1680156108d95780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af1935050505015156108f957fe5b84600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561097357818101518382015260200161095b565b50505050905090810190601f1680156109a05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060016109c4565b6109c1858585610bfc565b90505b949350505050565b6000828211156109d857fe5b50900390565b818101828110156109eb57fe5b92915050565b6000903b1190565b60008083610a06336105af565b11610a1057600080fd5b610a1d8461071b336105af565b33600090815260208190526040902055610a3a84610744876105af565b600160a060020a0386166000818152602081815260408083209490945592517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523360048201818152602483018a90526060604484019081528951606485015289518c9850959663c0ee0b8a9693958c958c956084909101928601918190849084905b83811015610ad6578181015183820152602001610abe565b50505050905090810190601f168015610b035780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b5050505084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bb6578181015183820152602001610b9e565b50505050905090810190601f168015610be35780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b600082610c08336105af565b11610c1257600080fd5b610c1f8361071b336105af565b33600090815260208190526040902055610c3c83610744866105af565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610cde578181015183820152602001610cc6565b50505050905090810190601f168015610d0b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a350600193925050505600a165627a7a723058206b0ff94391cdf7bf41226090cb4d33386a5086a14f407a84c1bf6fb8ea8188fc0029", "sourceMap": "158:3116:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;158:3116:6;;;;;;;", "deployedSourceMap": "158:3116:6:-;;;;;;;;;-1:-1:-1;;;158:3116:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1814:188:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1814:188:51;-1:-1:-1;;;;;1814:188:51;;;;;;;;;;;;;;;;;;;;;;;;;389:83:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:44;;;;;;;;;;;;;;;;;;;;726:470:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;726:470:51;-1:-1:-1;;;;;726:470:51;;;;;;;;;;;;3679:432;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3679:432:51;-1:-1:-1;;;;;3679:432:51;;;;;;;1149:99:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1149:99:44;-1:-1:-1;;;;;1149:99:44;;;;;1479:426:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1479:426:6;-1:-1:-1;;;;;1479:426:6;;;;;;;1064:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1064:278:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1064:278:6;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1064:278:6;;-1:-1:-1;1064:278:6;;-1:-1:-1;;;;;;;1064:278:6;2926:296:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2926:296:51;-1:-1:-1;;;;;2926:296:51;;;;;;;2321:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2321:153:51;-1:-1:-1;;;;;2321:153:51;;;;;;;;;;338:630:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;338:630:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;338:630:6;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;338:630:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;338:630:6;;;;-1:-1:-1;338:630:6;-1:-1:-1;338:630:6;;-1:-1:-1;338:630:6;;;;;;;;-1:-1:-1;338:630:6;;-1:-1:-1;338:630:6;;-1:-1:-1;;;;;;;338:630:6;1814:188:51;1901:10;1881:4;1893:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;1893:29:51;;;;;;;;;;;:38;;;1942;;;;;;;1881:4;;1893:29;;1901:10;;1942:38;;;;;;;;-1:-1:-1;1993:4:51;1814:188;;;;:::o;389:83:44:-;455:12;;389:83;:::o;726:470:51:-;-1:-1:-1;;;;;864:15:51;;832:4;864:15;;;;;;;;;;;854:25;;;846:34;;;;;;-1:-1:-1;;;;;904:14:51;;;;;;:7;:14;;;;;;;;919:10;904:26;;;;;;;;894:36;;;886:45;;;;;;-1:-1:-1;;;;;945:17:51;;;;937:26;;;;;;-1:-1:-1;;;;;988:15:51;;:8;:15;;;;;;;;;;;:27;;1008:6;988:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;970:15:51;;;:8;:15;;;;;;;;;;;:45;;;;1037:13;;;;;;;:25;;1055:6;1037:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1021:13:51;;;:8;:13;;;;;;;;;;;:41;;;;1097:14;;;;;:7;:14;;;;;1112:10;1097:26;;;;;;;:38;;1128:6;1097:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1068:14:51;;;;;;;:7;:14;;;;;;;;1083:10;1068:26;;;;;;;;:67;;;;1146:28;;;;;;;;;;;1068:14;;1146:28;;;;;;;;;;;-1:-1:-1;1187:4:51;726:470;;;;;;:::o;3679:432::-;3826:10;3785:4;3818:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3818:29:51;;;;;;;;;;3857:28;;;3853:165;;3903:10;3927:1;3895:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3895:29:51;;;;;;;;;:33;3853:165;;;3981:30;:8;3994:16;3981:30;:12;:30;:::i;:::-;3957:10;3949:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3949:29:51;;;;;;;;;:62;3853:165;4037:10;4059:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4028:61:51;;4059:29;;;;;;;;;;;4028:61;;;;;;;;;4037:10;4028:61;;;;;;;;;;;4102:4;4095:11;;3679:432;;;;;;:::o;1149:99:44:-;-1:-1:-1;;;;;1227:16:44;1205:7;1227:16;;;;;;;;;;;;1149:99::o;1479:426:6:-;1539:12;1696:18;1729:15;1740:3;1729:10;:15::i;:::-;1725:174;;;1767:38;1786:3;1791:6;1799:5;1767:18;:38::i;:::-;1760:45;;;;1725:174;1851:37;1869:3;1874:6;1882:5;1851:17;:37::i;1064:278::-;1137:12;1166:15;1177:3;1166:10;:15::i;:::-;1162:174;;;1204:38;1223:3;1228:6;1236:5;1204:18;:38::i;:::-;1197:45;;;;1162:174;1288:37;1306:3;1311:6;1319:5;1288:17;:37::i;2926:296:51:-;3089:10;3027:4;3081:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3081:29:51;;;;;;;;;;:46;;3115:11;3081:46;:33;:46;:::i;:::-;3049:10;3041:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3041:29:51;;;;;;;;;;;;:87;;;3139:61;;;;;;3041:29;;3139:61;;;;;;;;;;;-1:-1:-1;3213:4:51;2926:296;;;;:::o;2321:153::-;-1:-1:-1;;;;;2444:15:51;;;2420:7;2444:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2321:153::o;338:630:6:-;436:12;465:15;476:3;465:10;:15::i;:::-;461:501;;;528:6;504:21;514:10;504:9;:21::i;:::-;:30;496:39;;;;;;572:33;598:6;572:21;582:10;572:9;:21::i;:::-;:25;:33;:25;:33;:::i;:::-;558:10;549:8;:20;;;;;;;;;;:56;635:26;654:6;635:14;645:3;635:9;:14::i;:::-;:18;:26;:18;:26;:::i;:::-;619:8;:13;628:3;-1:-1:-1;;;;;619:13:6;-1:-1:-1;;;;;619:13:6;;;;;;;;;;;;:42;;;;682:3;-1:-1:-1;;;;;682:8:6;697:1;734:16;717:34;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;717:34:6;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;717:34:6;;;707:45;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;707:45:6;;;;;;;;;;;;;;;;-1:-1:-1;;;682:99:6;;;755:10;767:6;775:5;682:99;;;;;-1:-1:-1;;;682:99:6;;;;;;;-1:-1:-1;;;;;682:99:6;-1:-1:-1;;;;;682:99:6;;;;;;;;;;;;;;;;;;;;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;682:99:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;675:107;;;;;;823:3;-1:-1:-1;;;;;802:40:6;811:10;-1:-1:-1;;;;;802:40:6;;828:6;836:5;802:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;802:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;864:4:6;857:11;;461:501;914:37;932:3;937:6;945:5;914:17;:37::i;:::-;907:44;;461:501;338:630;;;;;;:::o;1060:116:42:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:42;;;1060:116::o;1238:128::-;1319:7;;;1339;;;;1332:15;;;;1238:128;;;;:::o;2004:284:6:-;2061:16;2224:18;;2270:10;;2004:284::o;2788:484::-;2872:12;3065:32;2929:6;2905:21;2915:10;2905:9;:21::i;:::-;:30;2897:39;;;;;;2969:33;2995:6;2969:21;2979:10;2969:9;:21::i;:33::-;2955:10;2946:8;:20;;;;;;;;;;:56;3028:26;3047:6;3028:14;3038:3;3028:9;:14::i;:26::-;-1:-1:-1;;;;;3012:13:6;;:8;:13;;;;;;;;;;;:42;;;;3138:49;;;;;3161:10;3138:49;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:3;;-1:-1:-1;3012:13:6;;3138:22;;3161:10;;3173:6;;3181:5;;3138:49;;;;;;;;;;;;;;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;3138:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3138:49:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3138:49:6;;;;3224:3;-1:-1:-1;;;;;3203:40:6;3212:10;-1:-1:-1;;;;;3203:40:6;;3229:6;3237:5;3203:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3203:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3261:4:6;;2788:484;-1:-1:-1;;;;2788:484:6:o;2363:350::-;2446:12;2503:6;2479:21;2489:10;2479:9;:21::i;:::-;:30;2471:39;;;;;;2543:33;2569:6;2543:21;2553:10;2543:9;:21::i;:33::-;2529:10;2520:8;:20;;;;;;;;;;:56;2602:26;2621:6;2602:14;2612:3;2602:9;:14::i;:26::-;2586:8;:13;2595:3;-1:-1:-1;;;;;2586:13:6;-1:-1:-1;;;;;2586:13:6;;;;;;;;;;;;:42;;;;2665:3;-1:-1:-1;;;;;2644:40:6;2653:10;-1:-1:-1;;;;;2644:40:6;;2670:6;2678:5;2644:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2644:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2702:4:6;2363:350;;;;;:::o", "source": "pragma solidity ^0.4.24;\n\nimport \"./ERC223.sol\";\nimport \"./ERC223ReceivingContract.sol\";\nimport \"zeppelin-solidity/contracts/token/ERC20/StandardToken.sol\";\n\ncontract ERC223StandardToken is ERC223, StandardToken {\n\n using SafeMath for uint;\n\n // Function that is called when a user or another contract wants to transfer funds .\n function transfer(address _to, uint _value, bytes _data, string _custom_fallback) public returns (bool success) {\n\n if (isContract(_to)) {\n require(balanceOf(msg.sender) > _value);\n balances[msg.sender] = balanceOf(msg.sender).sub(_value);\n balances[_to] = balanceOf(_to).add(_value);\n assert(_to.call.value(0)(bytes4(keccak256(abi.encodePacked(_custom_fallback))), msg.sender, _value, _data));\n\n emit Transfer(msg.sender, _to, _value, _data);\n\n return true;\n }\n else {\n return transferToAddress(_to, _value, _data);\n }\n }\n\n\n // Function that is called when a user or another contract wants to transfer funds .\n function transfer(address _to, uint _value, bytes _data) public returns (bool success) {\n\n if (isContract(_to)) {\n return transferToContract(_to, _value, _data);\n }\n else {\n return transferToAddress(_to, _value, _data);\n }\n }\n\n\n // Standard function transfer similar to ERC20 transfer with no _data .\n // Added due to backwards compatibility reasons .\n function transfer(address _to, uint _value) public returns (bool success) {\n\n //standard function transfer similar to ERC20 transfer with no _data\n //added due to backwards compatibility reasons\n bytes memory empty;\n\n if (isContract(_to)) {\n return transferToContract(_to, _value, empty);\n }\n else {\n return transferToAddress(_to, _value, empty);\n }\n }\n\n\n //assemble the given address bytecode. If bytecode exists then the _addr is a contract.\n function isContract(address _addr) private view returns (bool is_contract) {\n\n uint length;\n\n assembly {\n //retrieve the size of the code on target address, this needs assembly\n length := extcodesize(_addr)\n }\n\n return (length > 0);\n }\n\n\n //function that is called when transaction target is an address\n function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) {\n\n require(balanceOf(msg.sender) > _value);\n balances[msg.sender] = balanceOf(msg.sender).sub(_value);\n balances[_to] = balanceOf(_to).add(_value);\n\n emit Transfer(msg.sender, _to, _value, _data);\n\n return true;\n }\n\n\n //function that is called when transaction target is a contract\n function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) {\n\n require(balanceOf(msg.sender) > _value);\n balances[msg.sender] = balanceOf(msg.sender).sub(_value);\n balances[_to] = balanceOf(_to).add(_value);\n\n ERC223ReceivingContract receiver = ERC223ReceivingContract(_to);\n receiver.tokenFallback(msg.sender, _value, _data);\n\n emit Transfer(msg.sender, _to, _value, _data);\n\n return true;\n }\n}", "sourcePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223StandardToken.sol", "ast": { "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223StandardToken.sol", "exportedSymbols": { "ERC223StandardToken": [ 711 ] }, "id": 712, "nodeType": "SourceUnit", "nodes": [ { "id": 407, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:6" }, { "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223.sol", "file": "./ERC223.sol", "id": 408, "nodeType": "ImportDirective", "scope": 712, "sourceUnit": 322, "src": "26:22:6", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223ReceivingContract.sol", "file": "./ERC223ReceivingContract.sol", "id": 409, "nodeType": "ImportDirective", "scope": 712, "sourceUnit": 406, "src": "49:39:6", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "zeppelin-solidity/contracts/token/ERC20/StandardToken.sol", "file": "zeppelin-solidity/contracts/token/ERC20/StandardToken.sol", "id": 410, "nodeType": "ImportDirective", "scope": 712, "sourceUnit": 7648, "src": "89:67:6", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 411, "name": "ERC223", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 321, "src": "190:6:6", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC223_$321", "typeString": "contract ERC223" } }, "id": 412, "nodeType": "InheritanceSpecifier", "src": "190:6:6" }, { "arguments": null, "baseName": { "contractScope": null, "id": 413, "name": "StandardToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 7647, "src": "198:13:6", "typeDescriptions": { "typeIdentifier": "t_contract$_StandardToken_$7647", "typeString": "contract StandardToken" } }, "id": 414, "nodeType": "InheritanceSpecifier", "src": "198:13:6" } ], "contractDependencies": [ 321, 6998, 7112, 7144, 7647 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 711, "linearizedBaseContracts": [ 711, 7647, 6998, 7112, 7144, 321 ], "name": "ERC223StandardToken", "nodeType": "ContractDefinition", "nodes": [ { "id": 417, "libraryName": { "contractScope": null, "id": 415, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 6816, "src": "225:8:6", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$6816", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "219:24:6", "typeName": { "id": 416, "name": "uint", "nodeType": "ElementaryTypeName", "src": "238:4:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "body": { "id": 506, "nodeType": "Block", "src": "450:518:6", "statements": [ { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 431, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 419, "src": "476:3:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 430, "name": "isContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, "src": "465:10:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 432, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "465:15:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 504, "nodeType": "Block", "src": "893:69:6", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 499, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 419, "src": "932:3:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 500, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 421, "src": "937:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 501, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, "src": "945:5:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 498, "name": "transferToAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, "src": "914:17:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,uint256,bytes memory) returns (bool)" } }, "id": 502, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "914:37:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 429, "id": 503, "nodeType": "Return", "src": "907:44:6" } ] }, "id": 505, "nodeType": "IfStatement", "src": "461:501:6", "trueBody": { "id": 497, "nodeType": "Block", "src": "482:397:6", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 435, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7662, "src": "514:3:6", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 436, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "514:10:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 434, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [ 6997 ], "referencedDeclaration": 6997, "src": "504:9:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, "id": 437, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "504:21:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "id": 438, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 421, "src": "528:6:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "504:30:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 433, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 7665, 7666 ], "referencedDeclaration": 7665, "src": "496:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 440, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "496:39:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 441, "nodeType": "ExpressionStatement", "src": "496:39:6" }, { "expression": { "argumentTypes": null, "id": 453, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 442, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6915, "src": "549:8:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 445, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 443, "name": "msg",