@dnextco/tokenboost-solidity-erc223token
Version:
Solidity contracts for TokenBoost (ERC223Token)
789 lines • 401 kB
JSON
{
"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",