arc_dx
Version:
A platform for building DAOs
889 lines • 277 kB
JSON
{
"contractName": "ERC827Token",
"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": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"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"
},
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
},
{
"name": "_data",
"type": "bytes"
}
],
"name": "approveAndCall",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
},
{
"name": "_data",
"type": "bytes"
}
],
"name": "transferAndCall",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_from",
"type": "address"
},
{
"name": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
},
{
"name": "_data",
"type": "bytes"
}
],
"name": "transferFromAndCall",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_addedValue",
"type": "uint256"
},
{
"name": "_data",
"type": "bytes"
}
],
"name": "increaseApprovalAndCall",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_subtractedValue",
"type": "uint256"
},
{
"name": "_data",
"type": "bytes"
}
],
"name": "decreaseApprovalAndCall",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": true,
"stateMutability": "payable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50610a7f806100206000396000f3006080604052600436106100c45763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b381146100c957806318160ddd1461010157806323b872dd146101285780634000aea01461015257806366188463146101ae57806370a08231146101d257806390db623f146101f3578063a9059cbb1461024f578063c1d34b8914610273578063cae9ca51146102d5578063cb3993be14610331578063d73dd6231461038d578063dd62ed3e146103b1575b600080fd5b3480156100d557600080fd5b506100ed600160a060020a03600435166024356103d8565b604080519115158252519081900360200190f35b34801561010d57600080fd5b5061011661043e565b60408051918252519081900360200190f35b34801561013457600080fd5b506100ed600160a060020a0360043581169060243516604435610444565b604080516020600460443581810135601f81018490048402850184019095528484526100ed948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506105b99650505050505050565b3480156101ba57600080fd5b506100ed600160a060020a0360043516602435610669565b3480156101de57600080fd5b50610116600160a060020a0360043516610758565b604080516020600460443581810135601f81018490048402850184019095528484526100ed948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506107739650505050505050565b34801561025b57600080fd5b506100ed600160a060020a0360043516602435610795565b604080516020601f6064356004818101359283018490048402850184019095528184526100ed94600160a060020a0381358116956024803590921695604435953695608494019181908401838280828437509497506108749650505050505050565b604080516020600460443581810135601f81018490048402850184019095528484526100ed948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506109269650505050505050565b604080516020600460443581810135601f81018490048402850184019095528484526100ed948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506109489650505050505050565b34801561039957600080fd5b506100ed600160a060020a036004351660243561096a565b3480156103bd57600080fd5b50610116600160a060020a0360043581169060243516610a03565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b600160a060020a03831660009081526020819052604081205482111561046957600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561049957600080fd5b600160a060020a03831615156104ae57600080fd5b600160a060020a0384166000908152602081905260409020546104d7908363ffffffff610a2e16565b600160a060020a03808616600090815260208190526040808220939093559085168152205461050c908363ffffffff610a4016565b600160a060020a0380851660009081526020818152604080832094909455918716815260028252828120338252909152205461054e908363ffffffff610a2e16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b6000600160a060020a0384163014156105d157600080fd5b6105db8484610795565b5083600160a060020a0316348360405180828051906020019080838360005b838110156106125781810151838201526020016105fa565b50505050905090810190601f16801561063f5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af192505050151561065f57600080fd5b5060019392505050565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106106bd57336000908152600260209081526040808320600160a060020a03881684529091528120556106f2565b6106cd818463ffffffff610a2e16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b6000600160a060020a03841630141561078b57600080fd5b6105db848461096a565b336000908152602081905260408120548211156107b157600080fd5b600160a060020a03831615156107c657600080fd5b336000908152602081905260409020546107e6908363ffffffff610a2e16565b3360009081526020819052604080822092909255600160a060020a03851681522054610818908363ffffffff610a4016565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000600160a060020a03841630141561088c57600080fd5b610897858585610444565b5083600160a060020a0316348360405180828051906020019080838360005b838110156108ce5781810151838201526020016108b6565b50505050905090810190601f1680156108fb5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af192505050151561091b57600080fd5b506001949350505050565b6000600160a060020a03841630141561093e57600080fd5b6105db84846103d8565b6000600160a060020a03841630141561096057600080fd5b6105db8484610669565b336000908152600260209081526040808320600160a060020a038616845290915281205461099e908363ffffffff610a4016565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600082821115610a3a57fe5b50900390565b81810182811015610a4d57fe5b929150505600a165627a7a72305820a427a00f6cca2d0914e02ceadb74daa673add2ab541ef10759986491e032b2520029",
"deployedBytecode": "0x6080604052600436106100c45763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b381146100c957806318160ddd1461010157806323b872dd146101285780634000aea01461015257806366188463146101ae57806370a08231146101d257806390db623f146101f3578063a9059cbb1461024f578063c1d34b8914610273578063cae9ca51146102d5578063cb3993be14610331578063d73dd6231461038d578063dd62ed3e146103b1575b600080fd5b3480156100d557600080fd5b506100ed600160a060020a03600435166024356103d8565b604080519115158252519081900360200190f35b34801561010d57600080fd5b5061011661043e565b60408051918252519081900360200190f35b34801561013457600080fd5b506100ed600160a060020a0360043581169060243516604435610444565b604080516020600460443581810135601f81018490048402850184019095528484526100ed948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506105b99650505050505050565b3480156101ba57600080fd5b506100ed600160a060020a0360043516602435610669565b3480156101de57600080fd5b50610116600160a060020a0360043516610758565b604080516020600460443581810135601f81018490048402850184019095528484526100ed948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506107739650505050505050565b34801561025b57600080fd5b506100ed600160a060020a0360043516602435610795565b604080516020601f6064356004818101359283018490048402850184019095528184526100ed94600160a060020a0381358116956024803590921695604435953695608494019181908401838280828437509497506108749650505050505050565b604080516020600460443581810135601f81018490048402850184019095528484526100ed948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506109269650505050505050565b604080516020600460443581810135601f81018490048402850184019095528484526100ed948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506109489650505050505050565b34801561039957600080fd5b506100ed600160a060020a036004351660243561096a565b3480156103bd57600080fd5b50610116600160a060020a0360043581169060243516610a03565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b600160a060020a03831660009081526020819052604081205482111561046957600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561049957600080fd5b600160a060020a03831615156104ae57600080fd5b600160a060020a0384166000908152602081905260409020546104d7908363ffffffff610a2e16565b600160a060020a03808616600090815260208190526040808220939093559085168152205461050c908363ffffffff610a4016565b600160a060020a0380851660009081526020818152604080832094909455918716815260028252828120338252909152205461054e908363ffffffff610a2e16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b6000600160a060020a0384163014156105d157600080fd5b6105db8484610795565b5083600160a060020a0316348360405180828051906020019080838360005b838110156106125781810151838201526020016105fa565b50505050905090810190601f16801561063f5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af192505050151561065f57600080fd5b5060019392505050565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106106bd57336000908152600260209081526040808320600160a060020a03881684529091528120556106f2565b6106cd818463ffffffff610a2e16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b6000600160a060020a03841630141561078b57600080fd5b6105db848461096a565b336000908152602081905260408120548211156107b157600080fd5b600160a060020a03831615156107c657600080fd5b336000908152602081905260409020546107e6908363ffffffff610a2e16565b3360009081526020819052604080822092909255600160a060020a03851681522054610818908363ffffffff610a4016565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000600160a060020a03841630141561088c57600080fd5b610897858585610444565b5083600160a060020a0316348360405180828051906020019080838360005b838110156108ce5781810151838201526020016108b6565b50505050905090810190601f1680156108fb5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af192505050151561091b57600080fd5b506001949350505050565b6000600160a060020a03841630141561093e57600080fd5b6105db84846103d8565b6000600160a060020a03841630141561096057600080fd5b6105db8484610669565b336000908152600260209081526040808320600160a060020a038616845290915281205461099e908363ffffffff610a4016565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600082821115610a3a57fe5b50900390565b81810182811015610a4d57fe5b929150505600a165627a7a72305820a427a00f6cca2d0914e02ceadb74daa673add2ab541ef10759986491e032b2520029",
"sourceMap": "434:4899:25:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;434:4899:25;;;;;;;",
"deployedSourceMap": "434:4899:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1814:188:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1814:188:62;-1:-1:-1;;;;;1814:188:62;;;;;;;;;;;;;;;;;;;;;;;;;389:83:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:56;;;;;;;;;;;;;;;;;;;;726:470:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;726:470:62;-1:-1:-1;;;;;726:470:62;;;;;;;;;;;;2082:359:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2082:359:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2082:359:25;;-1:-1:-1;2082:359:25;;-1:-1:-1;;;;;;;2082:359:25;3679:432:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3679:432:62;-1:-1:-1;;;;;3679:432:62;;;;;;;1149:99:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1149:99:56;-1:-1:-1;;;;;1149:99:56;;;;;3905:403:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3905:403:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3905:403:25;;-1:-1:-1;3905:403:25;;-1:-1:-1;;;;;;;3905:403:25;626:321:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;626:321:56;-1:-1:-1;;;;;626:321:56;;;;;;;2912:389:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2912:389:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2912:389:25;;-1:-1:-1;2912:389:25;;-1:-1:-1;;;;;;;2912:389:25;1275:378;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1275:378:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1275:378:25;;-1:-1:-1;1275:378:25;;-1:-1:-1;;;;;;;1275:378:25;4917:413;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4917:413:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4917:413:25;;-1:-1:-1;4917:413:25;;-1:-1:-1;;;;;;;4917:413:25;2926:296:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2926:296:62;-1:-1:-1;;;;;2926:296:62;;;;;;;2321:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2321:153:62;-1:-1:-1;;;;;2321:153:62;;;;;;;;;;1814:188;1901:10;1881:4;1893:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;1893:29:62;;;;;;;;;;;:38;;;1942;;;;;;;1881:4;;1893:29;;1901:10;;1942:38;;;;;;;;-1:-1:-1;1993:4:62;1814:188;;;;:::o;389:83:56:-;455:12;;389:83;:::o;726:470:62:-;-1:-1:-1;;;;;864:15:62;;832:4;864:15;;;;;;;;;;;854:25;;;846:34;;;;;;-1:-1:-1;;;;;904:14:62;;;;;;:7;:14;;;;;;;;919:10;904:26;;;;;;;;894:36;;;886:45;;;;;;-1:-1:-1;;;;;945:17:62;;;;937:26;;;;;;-1:-1:-1;;;;;988:15:62;;:8;:15;;;;;;;;;;;:27;;1008:6;988:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;970:15:62;;;:8;:15;;;;;;;;;;;:45;;;;1037:13;;;;;;;:25;;1055:6;1037:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1021:13:62;;;:8;:13;;;;;;;;;;;:41;;;;1097:14;;;;;:7;:14;;;;;1112:10;1097:26;;;;;;;:38;;1128:6;1097:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1068:14:62;;;;;;;:7;:14;;;;;;;;1083:10;1068:26;;;;;;;;:67;;;;1146:28;;;;;;;;;;;1068:14;;1146:28;;;;;;;;;;;-1:-1:-1;1187:4:62;726:470;;;;;:::o;2082:359:25:-;2215:4;-1:-1:-1;;;;;2243:20:25;;2258:4;2243:20;;2235:29;;;;;;2275:27;2290:3;2295:6;2275:14;:27::i;:::-;;2380:3;-1:-1:-1;;;;;2380:8:25;2395:9;2406:5;2380:32;;;;;;;;;;;;;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;2380:32:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2372:41;;;;;;;;-1:-1:-1;2430:4:25;2082:359;;;;;:::o;3679:432:62:-;3826:10;3785:4;3818:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3818:29:62;;;;;;;;;;3857:28;;;3853:165;;3903:10;3927:1;3895:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3895:29:62;;;;;;;;;:33;3853:165;;;3981:30;:8;3994:16;3981:30;:12;:30;:::i;:::-;3957:10;3949:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3949:29:62;;;;;;;;;:62;3853:165;4037:10;4059:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4028:61:62;;4059:29;;;;;;;;;;;4028:61;;;;;;;;;4037:10;4028:61;;;;;;;;;;;-1:-1:-1;4102:4:62;;3679:432;-1:-1:-1;;;3679:432:62:o;1149:99:56:-;-1:-1:-1;;;;;1227:16:56;1205:7;1227:16;;;;;;;;;;;;1149:99::o;3905:403:25:-;4053:4;-1:-1:-1;;;;;4081:25:25;;4101:4;4081:25;;4073:34;;;;;;4118:45;4141:8;4151:11;4118:22;:45::i;626:321:56:-;728:10;689:4;719:20;;;;;;;;;;;709:30;;;701:39;;;;;;-1:-1:-1;;;;;754:17:56;;;;746:26;;;;;;811:10;802:8;:20;;;;;;;;;;;:32;;827:6;802:32;:24;:32;:::i;:::-;788:10;779:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;856:13:56;;;;;;:25;;874:6;856:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;840:13:56;;:8;:13;;;;;;;;;;;;:41;;;;892:33;;;;;;;840:13;;901:10;;892:33;;;;;;;;;;-1:-1:-1;938:4:56;626:321;;;;:::o;2912:389:25:-;3064:4;-1:-1:-1;;;;;3092:20:25;;3107:4;3092:20;;3084:29;;;;;;3124:38;3143:5;3150:3;3155:6;3124:18;:38::i;:::-;;3240:3;-1:-1:-1;;;;;3240:8:25;3255:9;3266:5;3240:32;;;;;;;;;;;;;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;3240:32:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3232:41;;;;;;;;-1:-1:-1;3290:4:25;2912:389;;;;;;:::o;1275:378::-;1412:4;-1:-1:-1;;;;;1440:25:25;;1460:4;1440:25;;1432:34;;;;;;1477:31;1491:8;1501:6;1477:13;:31::i;4917:413::-;5070:4;-1:-1:-1;;;;;5098:25:25;;5118:4;5098:25;;5090:34;;;;;;5135:50;5158:8;5168:16;5135:22;:50::i;2926:296:62:-;3089:10;3027:4;3081:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3081:29:62;;;;;;;;;;:46;;3115:11;3081:46;:33;:46;:::i;:::-;3049:10;3041:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3041:29:62;;;;;;;;;;;;:87;;;3139:61;;;;;;3041:29;;3139:61;;;;;;;;;;;-1:-1:-1;3213:4:62;2926:296;;;;:::o;2321:153::-;-1:-1:-1;;;;;2444:15:62;;;2420:7;2444:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2321:153::o;1060:116:54:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:54;;;1060:116::o;1238:128::-;1319:7;;;1339;;;;1332:15;;;;1238:128;;;;:::o",
"source": "/* solium-disable security/no-low-level-calls */\n\npragma solidity ^0.4.25;\n\nimport \"./ERC827.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol\";\n\n\n/**\n * @title ERC827, an extension of ERC20 token standard\n *\n * @dev Implementation the ERC827, following the ERC20 standard with extra\n * methods to transfer value and data and execute calls in transfers and\n * approvals. Uses OpenZeppelin StandardToken.\n */\ncontract ERC827Token is ERC827, StandardToken {\n\n /**\n * @dev Addition to ERC20 token methods. It allows to\n * approve the transfer of value and execute a call with the sent data.\n * Beware that changing an allowance with this method brings the risk that\n * someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race condition\n * is to first reduce the spender's allowance to 0 and set the desired value\n * afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * @param _spender The address that will spend the funds.\n * @param _value The amount of tokens to be spent.\n * @param _data ABI-encoded contract call to call `_spender` address.\n * @return true if the call function was executed successfully\n */\n function approveAndCall(\n address _spender,\n uint256 _value,\n bytes _data\n )\n public\n payable\n returns (bool)\n {\n require(_spender != address(this));\n\n super.approve(_spender, _value);\n\n // solium-disable-next-line security/no-call-value\n require(_spender.call.value(msg.value)(_data));\n\n return true;\n }\n\n /**\n * @dev Addition to ERC20 token methods. Transfer tokens to a specified\n * address and execute a call with the sent data on the same transaction\n * @param _to address The address which you want to transfer to\n * @param _value uint256 the amout of tokens to be transfered\n * @param _data ABI-encoded contract call to call `_to` address.\n * @return true if the call function was executed successfully\n */\n function transferAndCall(\n address _to,\n uint256 _value,\n bytes _data\n )\n public\n payable\n returns (bool)\n {\n require(_to != address(this));\n\n super.transfer(_to, _value);\n\n // solium-disable-next-line security/no-call-value\n require(_to.call.value(msg.value)(_data));\n return true;\n }\n\n /**\n * @dev Addition to ERC20 token methods. Transfer tokens from one address to\n * another and make a contract call on the same transaction\n * @param _from The address which you want to send tokens from\n * @param _to The address which you want to transfer to\n * @param _value The amout of tokens to be transferred\n * @param _data ABI-encoded contract call to call `_to` address.\n * @return true if the call function was executed successfully\n */\n function transferFromAndCall(\n address _from,\n address _to,\n uint256 _value,\n bytes _data\n )\n public payable returns (bool)\n {\n require(_to != address(this));\n\n super.transferFrom(_from, _to, _value);\n\n // solium-disable-next-line security/no-call-value\n require(_to.call.value(msg.value)(_data));\n return true;\n }\n\n /**\n * @dev Addition to StandardToken methods. Increase the amount of tokens that\n * an owner allowed to a spender and execute a call with the sent data.\n * approve should be called when allowed[_spender] == 0. To increment\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n * @param _spender The address which will spend the funds.\n * @param _addedValue The amount of tokens to increase the allowance by.\n * @param _data ABI-encoded contract call to call `_spender` address.\n */\n function increaseApprovalAndCall(\n address _spender,\n uint _addedValue,\n bytes _data\n )\n public\n payable\n returns (bool)\n {\n require(_spender != address(this));\n\n super.increaseApproval(_spender, _addedValue);\n\n // solium-disable-next-line security/no-call-value\n require(_spender.call.value(msg.value)(_data));\n\n return true;\n }\n\n /**\n * @dev Addition to StandardToken methods. Decrease the amount of tokens that\n * an owner allowed to a spender and execute a call with the sent data.\n * approve should be called when allowed[_spender] == 0. To decrement\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n * @param _spender The address which will spend the funds.\n * @param _subtractedValue The amount of tokens to decrease the allowance by.\n * @param _data ABI-encoded contract call to call `_spender` address.\n */\n function decreaseApprovalAndCall(\n address _spender,\n uint _subtractedValue,\n bytes _data\n )\n public\n payable\n returns (bool)\n {\n require(_spender != address(this));\n\n super.decreaseApproval(_spender, _subtractedValue);\n\n // solium-disable-next-line security/no-call-value\n require(_spender.call.value(msg.value)(_data));\n\n return true;\n }\n\n}\n",
"sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/token/ERC827/ERC827Token.sol",
"ast": {
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/token/ERC827/ERC827Token.sol",
"exportedSymbols": {
"ERC827Token": [
7074
]
},
"id": 7075,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6864,
"literals": [
"solidity",
"^",
"0.4",
".25"
],
"nodeType": "PragmaDirective",
"src": "50:24:25"
},
{
"absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/token/ERC827/ERC827.sol",
"file": "./ERC827.sol",
"id": 6865,
"nodeType": "ImportDirective",
"scope": 7075,
"sourceUnit": 6863,
"src": "76:22:25",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol",
"file": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol",
"id": 6866,
"nodeType": "ImportDirective",
"scope": 7075,
"sourceUnit": 21535,
"src": "99:71:25",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 6867,
"name": "ERC827",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 6862,
"src": "458:6:25",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC827_$6862",
"typeString": "contract ERC827"
}
},
"id": 6868,
"nodeType": "InheritanceSpecifier",
"src": "458:6:25"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 6869,
"name": "StandardToken",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 21534,
"src": "466:13:25",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StandardToken_$21534",
"typeString": "contract StandardToken"
}
},
"id": 6870,
"nodeType": "InheritanceSpecifier",
"src": "466:13:25"
}
],
"contractDependencies": [
6862,
20973,
21087,
21119,
21534
],
"contractKind": "contract",
"documentation": "@title ERC827, an extension of ERC20 token standard\n * @dev Implementation the ERC827, following the ERC20 standard with extra\nmethods to transfer value and data and execute calls in transfers and\napprovals. Uses OpenZeppelin StandardToken.",
"fullyImplemented": true,
"id": 7074,
"linearizedBaseContracts": [
7074,
21534,
20973,
6862,
21087,
21119
],
"name": "ERC827Token",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 6909,
"nodeType": "Block",
"src": "1422:231:25",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 6886,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 6882,
"name": "_spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6872,
"src": "1440:8:25",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 6884,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 21584,
"src": "1460:4:25",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC827Token_$7074",
"typeString": "contract ERC827Token"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_ERC827Token_$7074",
"typeString": "contract ERC827Token"
}
],
"id": 6883,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1452:7:25",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 6885,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1452:13:25",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1440:25:25",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 6881,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
21552,
21553
],
"referencedDeclaration": 21552,
"src": "1432:7:25",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 6887,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1432:34:25",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 6888,
"nodeType": "ExpressionStatement",
"src": "1432:34:25"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 6892,
"name": "_spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6872,
"src": "1491:8:25",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 6893,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6874,
"src": "1501:6:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 6889,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 21585,
"src": "1477:5:25",
"typeDescriptions": {
"typeIdentifier": "t_super$_ERC827Token_$7074",
"typeString": "contract super ERC827Token"
}
},
"id": 6891,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "approve",
"nodeType": "MemberAccess",
"referencedDeclaration": 21415,
"src": "1477:13:25",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,uint256) returns (bool)"
}
},
"id": 6894,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1477:31:25",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 6895,
"nodeType": "ExpressionStatement",
"src": "1477:31:25"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 6903,
"name": "_data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6876,
"src": "1617:5:25",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 6900,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 21549,
"src": "1606:3:25",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 6901,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1606:9:25",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 6897,
"name": "_spender",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6872,
"src": "1586:8:25",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 6898,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "call",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1586:13:25",
"typeDescriptions": {
"typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$",
"typeString": "function () payable returns (bool)"
}
},
"id": 6899,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1586:19:25",
"typeDescriptions": {
"typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$value_$",
"typeString": "function (uint256) returns (function () payable returns (bool))"
}
},
"id": 6902,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1586:30:25",
"typeDescriptions": {
"typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$value",
"typeString": "function () payable returns (bool)"
}
},
"id": 6904,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1586:37:25",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 6896,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
21552,
21553
],
"referencedDeclaration": 21552,
"src": "1578:7:25",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 6905,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1578:46:25",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 6906,
"nodeType": "ExpressionStatement",
"src": "1578:46:25"
},
{
"expression": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 6907,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1642:4:25",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"functionReturnParameters":