diff --git a/dao/dao.go b/dao/dao.go new file mode 100644 index 0000000000..555816c1a3 --- /dev/null +++ b/dao/dao.go @@ -0,0 +1,1319 @@ +// This file is an automatically generated Go binding. Do not modify as any +// change will likely be lost upon the next re-generation! + +package dao + +import ( + "math/big" + "strings" + + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" +) + +// DAOABI is the input ABI used to generate the binding from. +const DAOABI = `[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"proposals","outputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"},{"name":"description","type":"string"},{"name":"votingDeadline","type":"uint256"},{"name":"open","type":"bool"},{"name":"proposalPassed","type":"bool"},{"name":"proposalHash","type":"bytes32"},{"name":"proposalDeposit","type":"uint256"},{"name":"newCurator","type":"bool"},{"name":"yea","type":"uint256"},{"name":"nay","type":"uint256"},{"name":"creator","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"minTokensToCreate","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"rewardAccount","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"daoCreator","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"divisor","outputs":[{"name":"divisor","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"extraBalance","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_proposalID","type":"uint256"},{"name":"_transactionData","type":"bytes"}],"name":"executeProposal","outputs":[{"name":"_success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"unblockMe","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"totalRewardToken","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"actualBalance","outputs":[{"name":"_actualBalance","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"closingTime","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"allowedRecipients","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferWithoutReward","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_description","type":"string"},{"name":"_transactionData","type":"bytes"},{"name":"_debatingPeriod","type":"uint256"},{"name":"_newCurator","type":"bool"}],"name":"newProposal","outputs":[{"name":"_proposalID","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"DAOpaidOut","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"minQuorumDivisor","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_newContract","type":"address"}],"name":"newContract","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_allowed","type":"bool"}],"name":"changeAllowedRecipients","outputs":[{"name":"_success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"halveMinQuorum","outputs":[{"name":"_success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"paidOut","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_proposalID","type":"uint256"},{"name":"_newCurator","type":"address"}],"name":"splitDAO","outputs":[{"name":"_success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"DAOrewardAccount","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"proposalDeposit","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"numberOfProposals","outputs":[{"name":"_numberOfProposals","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"lastTimeMinQuorumMet","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_toMembers","type":"bool"}],"name":"retrieveDAOReward","outputs":[{"name":"_success","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"receiveEther","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"isFueled","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_tokenHolder","type":"address"}],"name":"createTokenProxy","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_proposalID","type":"uint256"}],"name":"getNewDAOAddress","outputs":[{"name":"_newDAO","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_proposalID","type":"uint256"},{"name":"_supportsProposal","type":"bool"}],"name":"vote","outputs":[{"name":"_voteID","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"getMyReward","outputs":[{"name":"_success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"rewardToken","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromWithoutReward","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_proposalDeposit","type":"uint256"}],"name":"changeProposalDeposit","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blocked","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"curator","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[{"name":"_proposalID","type":"uint256"},{"name":"_recipient","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_transactionData","type":"bytes"}],"name":"checkProposalCode","outputs":[{"name":"_codeChecksOut","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"privateCreation","outputs":[{"name":"","type":"address"}],"type":"function"},{"inputs":[{"name":"_curator","type":"address"},{"name":"_daoCreator","type":"address"},{"name":"_proposalDeposit","type":"uint256"},{"name":"_minTokensToCreate","type":"uint256"},{"name":"_closingTime","type":"uint256"},{"name":"_privateCreation","type":"address"}],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"FuelingToDate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"CreatedToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposalID","type":"uint256"},{"indexed":false,"name":"recipient","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"newCurator","type":"bool"},{"indexed":false,"name":"description","type":"string"}],"name":"ProposalAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposalID","type":"uint256"},{"indexed":false,"name":"position","type":"bool"},{"indexed":true,"name":"voter","type":"address"}],"name":"Voted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"proposalID","type":"uint256"},{"indexed":false,"name":"result","type":"bool"},{"indexed":false,"name":"quorum","type":"uint256"}],"name":"ProposalTallied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_newCurator","type":"address"}],"name":"NewCurator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_recipient","type":"address"},{"indexed":false,"name":"_allowed","type":"bool"}],"name":"AllowedRecipientChanged","type":"event"}]` + +// DAOBin is the compiled bytecode used for deploying new contracts. +const DAOBin = `606060405260405160c080615d3a833981016040528080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919050505b8282825b81600f600050819055508260106000508190555080601160016101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555030600160405161036e806105a8833901808373ffffffffffffffffffffffffffffffffffffffff168152602001821515815260200192505050604051809103906000f0601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b50505085600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555084600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555083600c6000508190555030600060405161036e80610916833901808373ffffffffffffffffffffffffffffffffffffffff168152602001821515815260200192505050604051809103906000f0600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555030600060405161036e80610c84833901808373ffffffffffffffffffffffffffffffffffffffff168152602001821515815260200192505050604051809103906000f0600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561028257610002565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156102c857610002565b42600260005081905550600560016000508190555060016000600050818154818355818115116104e757600e0281600e0283600052602060002091820191016104e69190610311565b808211156104e25760006000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000506000905560028201600050805460018160011615610100020316600290046000825580601f1061037957506103b6565b601f0160209004906000526020600020908101906103b59190610397565b808211156103b15760008181506000905550600101610397565b5090565b5b5060038201600050600090556004820160006101000a81549060ff02191690556004820160016101000a81549060ff0219169055600582016000506000905560068201600050600090556007820160006101000a81549060ff0219169055600882016000508054600082556004029060005260206000209081019061049a919061043b565b808211156104965760006000820160005060009055600182016000506000905560028201600050600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060040161043b565b5090565b5b506009820160005060009055600a820160005060009055600d820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600e01610311565b5090565b5b505050506001600460005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690830217905550600160046000506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908302179055505b505050505050614d4880610ff26000396000f3606060405260405160408061036e833981016040528080519060200190919080519060200190919050505b81600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555080600060146101000a81548160ff021916908302179055505b50506102f08061007e6000396000f36060604052361561005e576000357c0100000000000000000000000000000000000000000000000000000000900480630221038a1461007957806318bdc79a146100b05780638da5cb5b146100d5578063d2cc718f1461010e5761005e565b6100775b3460016000828282505401925050819055505b565b005b6100986004808035906020019091908035906020019091905050610131565b60405180821515815260200191505060405180910390f35b6100bd60048050506102ae565b60405180821515815260200191505060405180910390f35b6100e260048050506102c1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61011b60048050506102e7565b6040518082815260200191505060405180910390f35b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806101905750600034115b806102015750600060149054906101000a900460ff1680156102005750600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561020b57610002565b8273ffffffffffffffffffffffffffffffffffffffff168260405180905060006040518083038185876185025a03f1925050501561029e578273ffffffffffffffffffffffffffffffffffffffff167f9735b0cb909f3d21d5c16bbcccd272d85fa11446f6d679f6ecb170d2dabfecfc836040518082815260200191505060405180910390a2600190506102a8566102a7565b600090506102a8565b5b92915050565b600060149054906101000a900460ff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001600050548156606060405260405160408061036e833981016040528080519060200190919080519060200190919050505b81600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555080600060146101000a81548160ff021916908302179055505b50506102f08061007e6000396000f36060604052361561005e576000357c0100000000000000000000000000000000000000000000000000000000900480630221038a1461007957806318bdc79a146100b05780638da5cb5b146100d5578063d2cc718f1461010e5761005e565b6100775b3460016000828282505401925050819055505b565b005b6100986004808035906020019091908035906020019091905050610131565b60405180821515815260200191505060405180910390f35b6100bd60048050506102ae565b60405180821515815260200191505060405180910390f35b6100e260048050506102c1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61011b60048050506102e7565b6040518082815260200191505060405180910390f35b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806101905750600034115b806102015750600060149054906101000a900460ff1680156102005750600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561020b57610002565b8273ffffffffffffffffffffffffffffffffffffffff168260405180905060006040518083038185876185025a03f1925050501561029e578273ffffffffffffffffffffffffffffffffffffffff167f9735b0cb909f3d21d5c16bbcccd272d85fa11446f6d679f6ecb170d2dabfecfc836040518082815260200191505060405180910390a2600190506102a8566102a7565b600090506102a8565b5b92915050565b600060149054906101000a900460ff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001600050548156606060405260405160408061036e833981016040528080519060200190919080519060200190919050505b81600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555080600060146101000a81548160ff021916908302179055505b50506102f08061007e6000396000f36060604052361561005e576000357c0100000000000000000000000000000000000000000000000000000000900480630221038a1461007957806318bdc79a146100b05780638da5cb5b146100d5578063d2cc718f1461010e5761005e565b6100775b3460016000828282505401925050819055505b565b005b6100986004808035906020019091908035906020019091905050610131565b60405180821515815260200191505060405180910390f35b6100bd60048050506102ae565b60405180821515815260200191505060405180910390f35b6100e260048050506102c1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61011b60048050506102e7565b6040518082815260200191505060405180910390f35b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806101905750600034115b806102015750600060149054906101000a900460ff1680156102005750600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561020b57610002565b8273ffffffffffffffffffffffffffffffffffffffff168260405180905060006040518083038185876185025a03f1925050501561029e578273ffffffffffffffffffffffffffffffffffffffff167f9735b0cb909f3d21d5c16bbcccd272d85fa11446f6d679f6ecb170d2dabfecfc836040518082815260200191505060405180910390a2600190506102a8566102a7565b600090506102a8565b5b92915050565b600060149054906101000a900460ff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016000505481566060604052361561022c576000357c010000000000000000000000000000000000000000000000000000000090048063013cf08b146102dd578063095ea7b31461040e5780630c3b7b96146104455780630e70820314610468578063149acf9a146104a157806318160ddd146104da5780631f2dc5ef146104fd57806321b5b8dd14610520578063237e94921461055957806323b872dd146105ce5780632632bf201461060e578063341458081461063357806339d1f908146106565780634b6753bc146106795780634df6d6cc1461069c5780634e10c3ee146106ca578063590e1ae314610701578063612e45a314610710578063643f7cdd146107e5578063674ed066146108115780636837ff1e1461083457806370a082311461084c578063749f98891461087857806378524b2e146108af57806381f03fcb146108d457806382661dc41461090057806382bf6464146109375780638b15a605146109705780638d7af4731461099357806396d7f3f5146109b6578063a1da2fb9146109d9578063a3912ec814610a07578063a9059cbb14610a2c578063b7bc2c8414610a63578063baac530014610a88578063be7c29c114610ab6578063c9d27afe14610af8578063cc9ae3f614610b2d578063cdef91d014610b52578063dbde198814610b7e578063dd62ed3e14610bbe578063e33734fd14610bf3578063e596219514610c0b578063e66f53b714610c37578063eceb294514610c70578063f8c80d2614610cf75761022c565b6102c55b60006234bc00600f6000505401421080156102995750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156102b2576102a733610d30565b90506102c2566102c1565b6102ba610fbe565b90506102c2565b5b90565b60405180821515815260200191505060405180910390f35b6102f36004808035906020019091905050610fcc565b604051808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018b81526020018a1515815260200189151581526020018860001916815260200187815260200186151581526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182810382528c8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156103f45780601f106103c9576101008083540402835291602001916103f4565b820191906000526020600020905b8154815290600101906020018083116103d757829003601f168201915b50509d505050505050505050505050505060405180910390f35b61042d60048080359060200190919080359060200190919050506110b7565b60405180821515815260200191505060405180910390f35b610452600480505061118b565b6040518082815260200191505060405180910390f35b6104756004805050611194565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ae60048050506111ba565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e760048050506111e0565b6040518082815260200191505060405180910390f35b61050a60048050506111e9565b6040518082815260200191505060405180910390f35b61052d600480505061124a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105b66004808035906020019091908035906020019082018035906020019191908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050909091905050611270565b60405180821515815260200191505060405180910390f35b6105f66004808035906020019091908035906020019091908035906020019091905050611c68565b60405180821515815260200191505060405180910390f35b61061b6004805050611ce1565b60405180821515815260200191505060405180910390f35b6106406004805050611cf6565b6040518082815260200191505060405180910390f35b6106636004805050611cff565b6040518082815260200191505060405180910390f35b6106866004805050611d2a565b6040518082815260200191505060405180910390f35b6106b26004808035906020019091905050611d33565b60405180821515815260200191505060405180910390f35b6106e96004808035906020019091908035906020019091905050611d58565b60405180821515815260200191505060405180910390f35b61070e6004805050611d84565b005b6107cf6004808035906020019091908035906020019091908035906020019082018035906020019191908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050909091908035906020019082018035906020019191908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505090909190803590602001909190803590602001909190505061215b565b6040518082815260200191505060405180910390f35b6107fb600480803590602001909190505061286d565b6040518082815260200191505060405180910390f35b61081e6004805050612888565b6040518082815260200191505060405180910390f35b61084a6004808035906020019091905050612891565b005b6108626004808035906020019091905050612aa6565b6040518082815260200191505060405180910390f35b6108976004808035906020019091908035906020019091905050612ae4565b60405180821515815260200191505060405180910390f35b6108bc6004805050612bf1565b60405180821515815260200191505060405180910390f35b6108ea6004808035906020019091905050612ca9565b6040518082815260200191505060405180910390f35b61091f6004808035906020019091908035906020019091905050612cc4565b60405180821515815260200191505060405180910390f35b610944600480505061363c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61097d6004805050613662565b6040518082815260200191505060405180910390f35b6109a0600480505061366b565b6040518082815260200191505060405180910390f35b6109c36004805050613683565b6040518082815260200191505060405180910390f35b6109ef600480803590602001909190505061368c565b60405180821515815260200191505060405180910390f35b610a146004805050610fbe565b60405180821515815260200191505060405180910390f35b610a4b6004808035906020019091908035906020019091905050613ad9565b60405180821515815260200191505060405180910390f35b610a706004805050613b50565b60405180821515815260200191505060405180910390f35b610a9e6004808035906020019091905050610d30565b60405180821515815260200191505060405180910390f35b610acc6004808035906020019091905050613b63565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610b176004808035906020019091908035906020019091905050613bd9565b6040518082815260200191505060405180910390f35b610b3a6004805050613f40565b60405180821515815260200191505060405180910390f35b610b686004808035906020019091905050613f63565b6040518082815260200191505060405180910390f35b610ba66004808035906020019091908035906020019091908035906020019091905050613f7e565b60405180821515815260200191505060405180910390f35b610bdd6004808035906020019091908035906020019091905050613fad565b6040518082815260200191505060405180910390f35b610c096004808035906020019091905050614016565b005b610c2160048080359060200190919050506140b1565b6040518082815260200191505060405180910390f35b610c4460048050506140cc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610cdf6004808035906020019091908035906020019091908035906020019091908035906020019082018035906020019191908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509090919050506140f2565b60405180821515815260200191505060405180910390f35b610d0460048050506141b0565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006000600f6000505442108015610d485750600034115b8015610de457506000601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610de357503373ffffffffffffffffffffffffffffffffffffffff16601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b5b15610fb357610df16111e9565b60143402049050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681340360405180905060006040518083038185876185025a03f1925050505080601460005060008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054019250508190555080601660008282825054019250508190555034601360005060008573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055508273ffffffffffffffffffffffffffffffffffffffff167fdbccb92686efceafb9bb7e0394df7f58f71b954061b81afb57109bf247d3d75a826040518082815260200191505060405180910390a260106000505460166000505410158015610f4f5750601160009054906101000a900460ff16155b15610faa576001601160006101000a81548160ff021916908302179055507ff381a3e2428fdda36615919e8d9c35878d9eb0cf85ac6edf575088e80e4c147e6016600050546040518082815260200191505060405180910390a15b60019150610fb8565b610002565b50919050565b600060019050610fc9565b90565b60006000508181548110156100025790600052602060002090600e020160005b915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101600050549080600201600050908060030160005054908060040160009054906101000a900460ff16908060040160019054906101000a900460ff16908060050160005054908060060160005054908060070160009054906101000a900460ff169080600901600050549080600a01600050549080600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508c565b600081601560005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a360019050611185565b92915050565b60106000505481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60166000505481565b60004262127500600f6000505403111561120a576014905061124756611246565b4262054600600f6000505403111561123c576201518062127500600f6000505403420304601401905061124756611245565b601e9050611247565b5b5b90565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006000600060006000600034111561128857610002565b60006000508781548110156100025790600052602060002090600e020160005b5093508360070160009054906101000a900460ff166112ca57620d2f006112cf565b622398805b92508360040160009054906101000a900460ff1680156112f757508284600301600050540142115b1561130a57611305876141d6565b611c5e565b836003016000505442108061132e57508360040160009054906101000a900460ff16155b806113da57508360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846001016000505487604051808473ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018381526020018280519060200190808383829060006004602084601f0104600f02600301f150905001935050505060405180910390206000191684600501600050546000191614155b156113e457610002565b6114118460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661424c565b151561148357611420876141d6565b83600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008560060160005054604051809050600060405180830381858888f1935050505050611c5e565b6001915061148f611cff565b846001016000505411156114a4576000915081505b83600a016000505484600901600050540190506004865110158015611563575060687f0100000000000000000000000000000000000000000000000000000000000000028660008151811015610002579060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8015611609575060377f0100000000000000000000000000000000000000000000000000000000000000028660018151811015610002579060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80156116af575060ff7f0100000000000000000000000000000000000000000000000000000000000000028660028151811015610002579060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80156117555750601e7f0100000000000000000000000000000000000000000000000000000000000000028660038151811015610002579060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80156117a0575061179d600560005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054611797611cff565b0161439d565b81105b156117ac576000915081505b6117bc846001016000505461439d565b811015156118535783600d0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008560060160005054604051809050600060405180830381858888f19350505050151561182c57610002565b426002600050819055506005601660005054048111156118525760056001600050819055505b5b611863846001016000505461439d565b811015801561187f575083600a01600050548460090160005054115b80156118885750815b15611c12578360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846001016000505487604051808280519060200190808383829060006004602084601f0104600f02600301f150905090810190601f16801561191e5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876185025a03f192505050151561194257610002565b60018460040160016101000a81548160ff021916908302179055506001945084503073ffffffffffffffffffffffffffffffffffffffff168460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015611a355750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015611ab35750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015611b315750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015611baf5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15611c11578360010160005054600560005060003073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082828250540192505081905550836001016000505460066000828282505401925050819055505b5b611c1b876141d6565b867fdfc78bdca8e3e0b18c16c5c99323c6cb9eb5e00afde190b4e7273f5158702b0786836040518083151581526020018281526020019250505060405180910390a25b5050505092915050565b6000601160009054906101000a900460ff168015611c8a5750600f6000505442115b8015611c9c5750611c9a846143fe565b155b8015611caf5750611cae8484846144f6565b5b8015611cc25750611cc18484846145fd565b5b15611cd45760019050611cda56611cd9565b610002565b5b9392505050565b6000611cec336143fe565b9050611cf3565b90565b60066000505481565b6000600d600050543073ffffffffffffffffffffffffffffffffffffffff1631039050611d27565b90565b600f6000505481565b600460005060205280600052604060002060009150909054906101000a900460ff1681565b6000611d62613f40565b1515611d6d57610002565b611d778383613ad9565b9050611d7e565b92915050565b6000341115611d9257610002565b600f6000505442118015611db35750601160009054906101000a900460ff16155b1561215857601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d2cc718f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631101515611fc757601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630221038a30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d2cc718f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506020604051808303816000876161da5a03f1156100025750505060405180519060200150505b3373ffffffffffffffffffffffffffffffffffffffff16601360005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505460405180905060006040518083038185876185025a03f19250505015612157573373ffffffffffffffffffffffffffffffffffffffff167fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d601360005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050546040518082815260200191505060405180910390a2601460005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505460166000828282505403925050819055506000601460005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055506000601360005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055505b5b5b565b60006000600061216a33612aa6565b141561217557610002565b828015612200575060008714158061218f57506000855114155b806121e75750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16145b806121f25750600034115b806121ff575062093a8084105b5b1561220e576100025661223a565b8215801561222f57506122208861424c565b158061222e57506212750084105b5b1561223957610002565b5b6249d40084111561224a57610002565b601160009054906101000a900460ff16158061226a5750600f6000505442105b806122835750600c6000505434108015612282575082155b5b1561228d57610002565b42844201101561229c57610002565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156122d557610002565b6000600050805480919060010190908154818355818115116124e657600e0281600e0283600052602060002091820191016124e59190612310565b808211156124e15760006000820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000506000905560028201600050805460018160011615610100020316600290046000825580601f1061237857506123b5565b601f0160209004906000526020600020908101906123b49190612396565b808211156123b05760008181506000905550600101612396565b5090565b5b5060038201600050600090556004820160006101000a81549060ff02191690556004820160016101000a81549060ff0219169055600582016000506000905560068201600050600090556007820160006101000a81549060ff02191690556008820160005080546000825560040290600052602060002090810190612499919061243a565b808211156124955760006000820160005060009055600182016000506000905560028201600050600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060040161243a565b5090565b5b506009820160005060009055600a820160005060009055600d820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600e01612310565b5090565b5b5050509150815060006000508281548110156100025790600052602060002090600e020160005b509050878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555086816001016000508190555085816002016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061259a57805160ff19168380011785556125cb565b828001600101855582156125cb579182015b828111156125ca5782518260005055916020019190600101906125ac565b5b5090506125f691906125d8565b808211156125f257600081815060009055506001016125d8565b5090565b5050878786604051808473ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018381526020018280519060200190808383829060006004602084601f0104600f02600301f150905001935050505060405180910390208160050160005081905550834201816003016000508190555060018160040160006101000a81548160ff02191690830217905550828160070160006101000a81548160ff0219169083021790555082156127565780600801600050805480919060010190908154818355818115116127515760040281600402836000526020600020918201910161275091906126f1565b8082111561274c5760006000820160005060009055600182016000506000905560028201600050600090556003820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506004016126f1565b5090565b5b505050505b3381600d0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555034816006016000508190555034600d600082828250540192505081905550817f5790de2c279e58269b93b12828f56fd5f2bc8ad15e61ce08572585c81a38756f8989868a604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018315158152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156128515780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a25b509695505050505050565b60096000506020528060005260406000206000915090505481565b60016000505481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806129035750600460005060008273ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561290d57612aa3565b8073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff163160405180905060006040518083038185876185025a03f192505050151561296257610002565b600560005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054600560005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055506000600560005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005081905550600960005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054600960005060008373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055506000600960005060003073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055505b50565b6000601460005060008373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050549050612adf565b919050565b60006000341115612af457610002565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b5057610002565b81600460005060008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908302179055508273ffffffffffffffffffffffffffffffffffffffff167f73ad2a153c8b67991df9459024950b318a609782cee8c7eeda47b905f9baa91f8360405180821515815260200191505060405180910390a260019050612beb565b92915050565b600062e6b68042036002600050541080612c585750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8015612c6d5750621275004203600260005054105b15612c9c57426002600050819055506002600160008282825054029250508190555060019050612ca656612ca5565b60009050612ca6565b5b90565b600a6000506020528060005260406000206000915090505481565b600060006000600060006000341115612cdc57610002565b6000612ce733612aa6565b1415612cf257610002565b60006000508781548110156100025790600052602060002090600e020160005b5093508360030160005054421080612d3557506223988084600301600050540142115b80612d9057508573ffffffffffffffffffffffffffffffffffffffff168460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80612daa57508360070160009054906101000a900460ff16155b80612dee575083600b0160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80612e64575086600b60005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505414158015612e6357506000600b60005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505414155b5b15612e6e57610002565b6000846008016000506000815481101561000257906000526020600020906004020160005b5060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156130a457612edd86614817565b846008016000506000815481101561000257906000526020600020906004020160005b5060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055506000846008016000506000815481101561000257906000526020600020906004020160005b5060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612f9757610002565b600d600050543073ffffffffffffffffffffffffffffffffffffffff16311015612fc057610002565b612fc8611cff565b846008016000506000815481101561000257906000526020600020906004020160005b5060000160005081905550600560005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054846008016000506000815481101561000257906000526020600020906004020160005b5060020160005081905550601660005054846008016000506000815481101561000257906000526020600020906004020160005b506001016000508190555060018460040160016101000a81548160ff021916908302179055505b836008016000506000815481101561000257906000526020600020906004020160005b5060010160005054846008016000506000815481101561000257906000526020600020906004020160005b5060000160005054601460005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050540204925060001515846008016000506000815481101561000257906000526020600020906004020160005b5060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663baac53008533604051837c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038185886185025a03f1156100025750505050604051805190602001501515141561321057610002565b836008016000506000815481101561000257906000526020600020906004020160005b5060010160005054846008016000506000815481101561000257906000526020600020906004020160005b5060020160005054601460005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505402049150600560005060003073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505482600960005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054020490508160056000506000866008016000506000815481101561000257906000526020600020906004020160005b5060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054019250508190555081600560005060003073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410156133be57610002565b81600560005060003073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505403925050819055508060096000506000866008016000506000815481101561000257906000526020600020906004020160005b5060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054019250508190555080600960005060003073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410156134b957610002565b80600960005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555060003373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601460005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050546040518082815260200191505060405180910390a361357d33614935565b50601460005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505460166000828282505403925050819055506000601460005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055506000600a60005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000508190555060019450613632565b5050505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c6000505481565b60006001600060005080549050039050613680565b90565b60026000505481565b60006000600060003411156136a057610002565b339150600960005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054600660005054600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d2cc718f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600560005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054020410156137a357610002565b600960005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054600660005054600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d2cc718f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600560005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054020403905083156139ce57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630221038a8373ffffffffffffffffffffffffffffffffffffffff16630e708203604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f115610002575050506040518051906020015083604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506020604051808303816000876161da5a03f115610002575050506040518051906020015015156139c957610002565b613a8d565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630221038a8383604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506020604051808303816000876161da5a03f11561000257505050604051805190602001501515613a8c57610002565b5b80600960005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054019250508190555060019250613ad2565b5050919050565b6000601160009054906101000a900460ff168015613afb5750600f6000505442115b8015613b0d5750613b0b336143fe565b155b8015613b205750613b1f3384846144f6565b5b8015613b325750613b318383614bfa565b5b15613b445760019050613b4a56613b49565b610002565b5b92915050565b601160009054906101000a900460ff1681565b600060006000508281548110156100025790600052602060002090600e020160005b506008016000506000815481101561000257906000526020600020906004020160005b5060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050613bd4565b919050565b600060006000613be833612aa6565b1415613bf357610002565b6000341115613c0157610002565b60006000508481548110156100025790600052602060002090600e020160005b50905080600b0160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680613ca3575080600c0160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80613cb5575080600301600050544210155b15613cbf57610002565b8215613d5257601460005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505481600901600082828250540192505081905550600181600b0160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690830217905550613ddb565b601460005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505481600a01600082828250540192505081905550600181600c0160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908302179055505b6000600b60005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050541415613e4c5783600b60005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005081905550613ee7565b6000600050600b60005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505481548110156100025790600052602060002090600e020160005b506003016000505481600301600050541115613ee65783600b60005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055505b5b3373ffffffffffffffffffffffffffffffffffffffff16847f86abfce99b7dd908bec0169288797f85049ec73cbe046ed9de818fab3a497ae08560405180821515815260200191505060405180910390a35b5092915050565b60006000341115613f5057610002565b613f5933614935565b9050613f60565b90565b60056000506020528060005260406000206000915090505481565b6000613f8984614935565b1515613f9457610002565b613f9f848484611c68565b9050613fa6565b9392505050565b6000601560005060008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050549050614010565b92915050565b600034111561402457610002565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158061409957506064600560005060003073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054614094611cff565b010481115b156140a357610002565b80600c600050819055505b50565b600b6000506020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006000600034111561410457610002565b60006000508681548110156100025790600052602060002090600e020160005b509050848484604051808473ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018381526020018280519060200190808383829060006004602084601f0104600f02600301f15090500193505050506040518091039020600019168160050160005054600019161491506141a7565b50949350505050565b601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060006000508281548110156100025790600052602060002090600e020160005b5090508060040160009054906101000a900460ff161561422c578060060160005054600d6000828282505403925050819055505b60008160040160006101000a81548160ff021916908302179055505b5050565b6000600460005060008373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061437c5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561437b5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d2cc718f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150600660005054115b5b1561438e576001905061439856614397565b60009050614398565b5b919050565b6000600560005060003073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050546143d7611cff565b01600302601660005054830204600160005054601660005054040190506143f9565b919050565b600060006000600b60005060008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054141561444357600091506144f0565b6000600050600b60005060008573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505481548110156100025790600052602060002090600e020160005b50905080600301600050544211156144e6576000600b60005060008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005081905550600091506144f0566144ef565b600191506144f0565b5b50919050565b6000600061450385612aa6565b83600a60005060008873ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505402049050600a60005060008673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505481111561457457610002565b80600a60005060008773ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555080600a60005060008673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082828250540192505081905550600191506145f5565b509392505050565b6000600034111561460d57610002565b81601460005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054101580156146a5575081601560005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410155b80156146b15750600082115b156148065781601460005060008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054019250508190555081601460005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081601560005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506148105661480f565b60009050614810565b5b9392505050565b60008173ffffffffffffffffffffffffffffffffffffffff167f9046fefd66f538ab35263248a44217dcb70e2eb2cd136629e141b8b8f9f03b6060405180905060405180910390a2600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e2faf0448360006000622398804201604051857c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019450505050506020604051808303816000876161da5a03f11561000257505050604051805190602001509050614930565b919050565b60006000600034111561494757610002565b600a60005060008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054601660005054600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d2cc718f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150614a1386612aa6565b02041015614a2057610002565b600a60005060008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054601660005054600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d2cc718f604051817c01000000000000000000000000000000000000000000000000000000000281526004018090506020604051808303816000876161da5a03f1156100025750505060405180519060200150614aec86612aa6565b0204039050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630221038a8483604051837c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506020604051808303816000876161da5a03f11561000257505050604051805190602001501515614baf57610002565b80600a60005060008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054019250508190555060019150614bf4565b50919050565b60006000341115614c0a57610002565b81601460005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410158015614c495750600082115b15614d385781601460005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081601460005060008573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050614d4256614d41565b60009050614d42565b5b9291505056` + +// DeployDAO deploys a new Ethereum contract, binding an instance of DAO to it. +func DeployDAO(auth *bind.TransactOpts, backend bind.ContractBackend, _curator common.Address, _daoCreator common.Address, _proposalDeposit *big.Int, _minTokensToCreate *big.Int, _closingTime *big.Int, _privateCreation common.Address) (common.Address, *types.Transaction, *DAO, error) { + parsed, err := abi.JSON(strings.NewReader(DAOABI)) + if err != nil { + return common.Address{}, nil, nil, err + } + address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(DAOBin), backend, _curator, _daoCreator, _proposalDeposit, _minTokensToCreate, _closingTime, _privateCreation) + if err != nil { + return common.Address{}, nil, nil, err + } + return address, tx, &DAO{DAOCaller: DAOCaller{contract: contract}, DAOTransactor: DAOTransactor{contract: contract}}, nil +} + +// DAO is an auto generated Go binding around an Ethereum contract. +type DAO struct { + DAOCaller // Read-only binding to the contract + DAOTransactor // Write-only binding to the contract +} + +func (_d *DAO) Address() common.Address { + return _d.DAOCaller.Address() +} + +// DAOCaller is an auto generated read-only Go binding around an Ethereum contract. +type DAOCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +func (_d *DAOCaller) Address() common.Address { + return _d.contract.Address() +} + +// DAOTransactor is an auto generated write-only Go binding around an Ethereum contract. +type DAOTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// DAOSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type DAOSession struct { + Contract *DAO // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// DAOCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type DAOCallerSession struct { + Contract *DAOCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// DAOTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type DAOTransactorSession struct { + Contract *DAOTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// DAORaw is an auto generated low-level Go binding around an Ethereum contract. +type DAORaw struct { + Contract *DAO // Generic contract binding to access the raw methods on +} + +// DAOCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type DAOCallerRaw struct { + Contract *DAOCaller // Generic read-only contract binding to access the raw methods on +} + +// DAOTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type DAOTransactorRaw struct { + Contract *DAOTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewDAO creates a new instance of DAO, bound to a specific deployed contract. +func NewDAO(address common.Address, backend bind.ContractBackend) (*DAO, error) { + contract, err := bindDAO(address, backend.(bind.ContractCaller), backend.(bind.ContractTransactor)) + if err != nil { + return nil, err + } + return &DAO{DAOCaller: DAOCaller{contract: contract}, DAOTransactor: DAOTransactor{contract: contract}}, nil +} + +// NewDAOCaller creates a new read-only instance of DAO, bound to a specific deployed contract. +func NewDAOCaller(address common.Address, caller bind.ContractCaller) (*DAOCaller, error) { + contract, err := bindDAO(address, caller, nil) + if err != nil { + return nil, err + } + return &DAOCaller{contract: contract}, nil +} + +// NewDAOTransactor creates a new write-only instance of DAO, bound to a specific deployed contract. +func NewDAOTransactor(address common.Address, transactor bind.ContractTransactor) (*DAOTransactor, error) { + contract, err := bindDAO(address, nil, transactor) + if err != nil { + return nil, err + } + return &DAOTransactor{contract: contract}, nil +} + +// bindDAO binds a generic wrapper to an already deployed contract. +func bindDAO(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(DAOABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_DAO *DAORaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { + return _DAO.Contract.DAOCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_DAO *DAORaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _DAO.Contract.DAOTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_DAO *DAORaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _DAO.Contract.DAOTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_DAO *DAOCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { + return _DAO.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_DAO *DAOTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _DAO.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_DAO *DAOTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _DAO.Contract.contract.Transact(opts, method, params...) +} + +// DAOpaidOut is a free data retrieval call binding the contract method 0x643f7cdd. +// +// Solidity: function DAOpaidOut( address) constant returns(uint256) +func (_DAO *DAOCaller) DAOpaidOut(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "DAOpaidOut", arg0) + return *ret0, err +} + +// DAOpaidOut is a free data retrieval call binding the contract method 0x643f7cdd. +// +// Solidity: function DAOpaidOut( address) constant returns(uint256) +func (_DAO *DAOSession) DAOpaidOut(arg0 common.Address) (*big.Int, error) { + return _DAO.Contract.DAOpaidOut(&_DAO.CallOpts, arg0) +} + +// DAOpaidOut is a free data retrieval call binding the contract method 0x643f7cdd. +// +// Solidity: function DAOpaidOut( address) constant returns(uint256) +func (_DAO *DAOCallerSession) DAOpaidOut(arg0 common.Address) (*big.Int, error) { + return _DAO.Contract.DAOpaidOut(&_DAO.CallOpts, arg0) +} + +// DAOrewardAccount is a free data retrieval call binding the contract method 0x82bf6464. +// +// Solidity: function DAOrewardAccount() constant returns(address) +func (_DAO *DAOCaller) DAOrewardAccount(opts *bind.CallOpts) (common.Address, error) { + var ( + ret0 = new(common.Address) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "DAOrewardAccount") + return *ret0, err +} + +// DAOrewardAccount is a free data retrieval call binding the contract method 0x82bf6464. +// +// Solidity: function DAOrewardAccount() constant returns(address) +func (_DAO *DAOSession) DAOrewardAccount() (common.Address, error) { + return _DAO.Contract.DAOrewardAccount(&_DAO.CallOpts) +} + +// DAOrewardAccount is a free data retrieval call binding the contract method 0x82bf6464. +// +// Solidity: function DAOrewardAccount() constant returns(address) +func (_DAO *DAOCallerSession) DAOrewardAccount() (common.Address, error) { + return _DAO.Contract.DAOrewardAccount(&_DAO.CallOpts) +} + +// ActualBalance is a free data retrieval call binding the contract method 0x39d1f908. +// +// Solidity: function actualBalance() constant returns(_actualBalance uint256) +func (_DAO *DAOCaller) ActualBalance(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "actualBalance") + return *ret0, err +} + +// ActualBalance is a free data retrieval call binding the contract method 0x39d1f908. +// +// Solidity: function actualBalance() constant returns(_actualBalance uint256) +func (_DAO *DAOSession) ActualBalance() (*big.Int, error) { + return _DAO.Contract.ActualBalance(&_DAO.CallOpts) +} + +// ActualBalance is a free data retrieval call binding the contract method 0x39d1f908. +// +// Solidity: function actualBalance() constant returns(_actualBalance uint256) +func (_DAO *DAOCallerSession) ActualBalance() (*big.Int, error) { + return _DAO.Contract.ActualBalance(&_DAO.CallOpts) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(_owner address, _spender address) constant returns(remaining uint256) +func (_DAO *DAOCaller) Allowance(opts *bind.CallOpts, _owner common.Address, _spender common.Address) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "allowance", _owner, _spender) + return *ret0, err +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(_owner address, _spender address) constant returns(remaining uint256) +func (_DAO *DAOSession) Allowance(_owner common.Address, _spender common.Address) (*big.Int, error) { + return _DAO.Contract.Allowance(&_DAO.CallOpts, _owner, _spender) +} + +// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. +// +// Solidity: function allowance(_owner address, _spender address) constant returns(remaining uint256) +func (_DAO *DAOCallerSession) Allowance(_owner common.Address, _spender common.Address) (*big.Int, error) { + return _DAO.Contract.Allowance(&_DAO.CallOpts, _owner, _spender) +} + +// AllowedRecipients is a free data retrieval call binding the contract method 0x4df6d6cc. +// +// Solidity: function allowedRecipients( address) constant returns(bool) +func (_DAO *DAOCaller) AllowedRecipients(opts *bind.CallOpts, arg0 common.Address) (bool, error) { + var ( + ret0 = new(bool) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "allowedRecipients", arg0) + return *ret0, err +} + +// AllowedRecipients is a free data retrieval call binding the contract method 0x4df6d6cc. +// +// Solidity: function allowedRecipients( address) constant returns(bool) +func (_DAO *DAOSession) AllowedRecipients(arg0 common.Address) (bool, error) { + return _DAO.Contract.AllowedRecipients(&_DAO.CallOpts, arg0) +} + +// AllowedRecipients is a free data retrieval call binding the contract method 0x4df6d6cc. +// +// Solidity: function allowedRecipients( address) constant returns(bool) +func (_DAO *DAOCallerSession) AllowedRecipients(arg0 common.Address) (bool, error) { + return _DAO.Contract.AllowedRecipients(&_DAO.CallOpts, arg0) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(_owner address) constant returns(balance uint256) +func (_DAO *DAOCaller) BalanceOf(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "balanceOf", _owner) + return *ret0, err +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(_owner address) constant returns(balance uint256) +func (_DAO *DAOSession) BalanceOf(_owner common.Address) (*big.Int, error) { + return _DAO.Contract.BalanceOf(&_DAO.CallOpts, _owner) +} + +// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. +// +// Solidity: function balanceOf(_owner address) constant returns(balance uint256) +func (_DAO *DAOCallerSession) BalanceOf(_owner common.Address) (*big.Int, error) { + return _DAO.Contract.BalanceOf(&_DAO.CallOpts, _owner) +} + +// Blocked is a free data retrieval call binding the contract method 0xe5962195. +// +// Solidity: function blocked( address) constant returns(uint256) +func (_DAO *DAOCaller) Blocked(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "blocked", arg0) + return *ret0, err +} + +// Blocked is a free data retrieval call binding the contract method 0xe5962195. +// +// Solidity: function blocked( address) constant returns(uint256) +func (_DAO *DAOSession) Blocked(arg0 common.Address) (*big.Int, error) { + return _DAO.Contract.Blocked(&_DAO.CallOpts, arg0) +} + +// Blocked is a free data retrieval call binding the contract method 0xe5962195. +// +// Solidity: function blocked( address) constant returns(uint256) +func (_DAO *DAOCallerSession) Blocked(arg0 common.Address) (*big.Int, error) { + return _DAO.Contract.Blocked(&_DAO.CallOpts, arg0) +} + +// CheckProposalCode is a free data retrieval call binding the contract method 0xeceb2945. +// +// Solidity: function checkProposalCode(_proposalID uint256, _recipient address, _amount uint256, _transactionData bytes) constant returns(_codeChecksOut bool) +func (_DAO *DAOCaller) CheckProposalCode(opts *bind.CallOpts, _proposalID *big.Int, _recipient common.Address, _amount *big.Int, _transactionData []byte) (bool, error) { + var ( + ret0 = new(bool) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "checkProposalCode", _proposalID, _recipient, _amount, _transactionData) + return *ret0, err +} + +// CheckProposalCode is a free data retrieval call binding the contract method 0xeceb2945. +// +// Solidity: function checkProposalCode(_proposalID uint256, _recipient address, _amount uint256, _transactionData bytes) constant returns(_codeChecksOut bool) +func (_DAO *DAOSession) CheckProposalCode(_proposalID *big.Int, _recipient common.Address, _amount *big.Int, _transactionData []byte) (bool, error) { + return _DAO.Contract.CheckProposalCode(&_DAO.CallOpts, _proposalID, _recipient, _amount, _transactionData) +} + +// CheckProposalCode is a free data retrieval call binding the contract method 0xeceb2945. +// +// Solidity: function checkProposalCode(_proposalID uint256, _recipient address, _amount uint256, _transactionData bytes) constant returns(_codeChecksOut bool) +func (_DAO *DAOCallerSession) CheckProposalCode(_proposalID *big.Int, _recipient common.Address, _amount *big.Int, _transactionData []byte) (bool, error) { + return _DAO.Contract.CheckProposalCode(&_DAO.CallOpts, _proposalID, _recipient, _amount, _transactionData) +} + +// ClosingTime is a free data retrieval call binding the contract method 0x4b6753bc. +// +// Solidity: function closingTime() constant returns(uint256) +func (_DAO *DAOCaller) ClosingTime(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "closingTime") + return *ret0, err +} + +// ClosingTime is a free data retrieval call binding the contract method 0x4b6753bc. +// +// Solidity: function closingTime() constant returns(uint256) +func (_DAO *DAOSession) ClosingTime() (*big.Int, error) { + return _DAO.Contract.ClosingTime(&_DAO.CallOpts) +} + +// ClosingTime is a free data retrieval call binding the contract method 0x4b6753bc. +// +// Solidity: function closingTime() constant returns(uint256) +func (_DAO *DAOCallerSession) ClosingTime() (*big.Int, error) { + return _DAO.Contract.ClosingTime(&_DAO.CallOpts) +} + +// Curator is a free data retrieval call binding the contract method 0xe66f53b7. +// +// Solidity: function curator() constant returns(address) +func (_DAO *DAOCaller) Curator(opts *bind.CallOpts) (common.Address, error) { + var ( + ret0 = new(common.Address) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "curator") + return *ret0, err +} + +// Curator is a free data retrieval call binding the contract method 0xe66f53b7. +// +// Solidity: function curator() constant returns(address) +func (_DAO *DAOSession) Curator() (common.Address, error) { + return _DAO.Contract.Curator(&_DAO.CallOpts) +} + +// Curator is a free data retrieval call binding the contract method 0xe66f53b7. +// +// Solidity: function curator() constant returns(address) +func (_DAO *DAOCallerSession) Curator() (common.Address, error) { + return _DAO.Contract.Curator(&_DAO.CallOpts) +} + +// DaoCreator is a free data retrieval call binding the contract method 0x149acf9a. +// +// Solidity: function daoCreator() constant returns(address) +func (_DAO *DAOCaller) DaoCreator(opts *bind.CallOpts) (common.Address, error) { + var ( + ret0 = new(common.Address) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "daoCreator") + return *ret0, err +} + +// DaoCreator is a free data retrieval call binding the contract method 0x149acf9a. +// +// Solidity: function daoCreator() constant returns(address) +func (_DAO *DAOSession) DaoCreator() (common.Address, error) { + return _DAO.Contract.DaoCreator(&_DAO.CallOpts) +} + +// DaoCreator is a free data retrieval call binding the contract method 0x149acf9a. +// +// Solidity: function daoCreator() constant returns(address) +func (_DAO *DAOCallerSession) DaoCreator() (common.Address, error) { + return _DAO.Contract.DaoCreator(&_DAO.CallOpts) +} + +// Divisor is a free data retrieval call binding the contract method 0x1f2dc5ef. +// +// Solidity: function divisor() constant returns(divisor uint256) +func (_DAO *DAOCaller) Divisor(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "divisor") + return *ret0, err +} + +// Divisor is a free data retrieval call binding the contract method 0x1f2dc5ef. +// +// Solidity: function divisor() constant returns(divisor uint256) +func (_DAO *DAOSession) Divisor() (*big.Int, error) { + return _DAO.Contract.Divisor(&_DAO.CallOpts) +} + +// Divisor is a free data retrieval call binding the contract method 0x1f2dc5ef. +// +// Solidity: function divisor() constant returns(divisor uint256) +func (_DAO *DAOCallerSession) Divisor() (*big.Int, error) { + return _DAO.Contract.Divisor(&_DAO.CallOpts) +} + +// ExtraBalance is a free data retrieval call binding the contract method 0x21b5b8dd. +// +// Solidity: function extraBalance() constant returns(address) +func (_DAO *DAOCaller) ExtraBalance(opts *bind.CallOpts) (common.Address, error) { + var ( + ret0 = new(common.Address) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "extraBalance") + return *ret0, err +} + +// ExtraBalance is a free data retrieval call binding the contract method 0x21b5b8dd. +// +// Solidity: function extraBalance() constant returns(address) +func (_DAO *DAOSession) ExtraBalance() (common.Address, error) { + return _DAO.Contract.ExtraBalance(&_DAO.CallOpts) +} + +// ExtraBalance is a free data retrieval call binding the contract method 0x21b5b8dd. +// +// Solidity: function extraBalance() constant returns(address) +func (_DAO *DAOCallerSession) ExtraBalance() (common.Address, error) { + return _DAO.Contract.ExtraBalance(&_DAO.CallOpts) +} + +// GetNewDAOAddress is a free data retrieval call binding the contract method 0xbe7c29c1. +// +// Solidity: function getNewDAOAddress(_proposalID uint256) constant returns(_newDAO address) +func (_DAO *DAOCaller) GetNewDAOAddress(opts *bind.CallOpts, _proposalID *big.Int) (common.Address, error) { + var ( + ret0 = new(common.Address) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "getNewDAOAddress", _proposalID) + return *ret0, err +} + +// GetNewDAOAddress is a free data retrieval call binding the contract method 0xbe7c29c1. +// +// Solidity: function getNewDAOAddress(_proposalID uint256) constant returns(_newDAO address) +func (_DAO *DAOSession) GetNewDAOAddress(_proposalID *big.Int) (common.Address, error) { + return _DAO.Contract.GetNewDAOAddress(&_DAO.CallOpts, _proposalID) +} + +// GetNewDAOAddress is a free data retrieval call binding the contract method 0xbe7c29c1. +// +// Solidity: function getNewDAOAddress(_proposalID uint256) constant returns(_newDAO address) +func (_DAO *DAOCallerSession) GetNewDAOAddress(_proposalID *big.Int) (common.Address, error) { + return _DAO.Contract.GetNewDAOAddress(&_DAO.CallOpts, _proposalID) +} + +// IsFueled is a free data retrieval call binding the contract method 0xb7bc2c84. +// +// Solidity: function isFueled() constant returns(bool) +func (_DAO *DAOCaller) IsFueled(opts *bind.CallOpts) (bool, error) { + var ( + ret0 = new(bool) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "isFueled") + return *ret0, err +} + +// IsFueled is a free data retrieval call binding the contract method 0xb7bc2c84. +// +// Solidity: function isFueled() constant returns(bool) +func (_DAO *DAOSession) IsFueled() (bool, error) { + return _DAO.Contract.IsFueled(&_DAO.CallOpts) +} + +// IsFueled is a free data retrieval call binding the contract method 0xb7bc2c84. +// +// Solidity: function isFueled() constant returns(bool) +func (_DAO *DAOCallerSession) IsFueled() (bool, error) { + return _DAO.Contract.IsFueled(&_DAO.CallOpts) +} + +// LastTimeMinQuorumMet is a free data retrieval call binding the contract method 0x96d7f3f5. +// +// Solidity: function lastTimeMinQuorumMet() constant returns(uint256) +func (_DAO *DAOCaller) LastTimeMinQuorumMet(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "lastTimeMinQuorumMet") + return *ret0, err +} + +// LastTimeMinQuorumMet is a free data retrieval call binding the contract method 0x96d7f3f5. +// +// Solidity: function lastTimeMinQuorumMet() constant returns(uint256) +func (_DAO *DAOSession) LastTimeMinQuorumMet() (*big.Int, error) { + return _DAO.Contract.LastTimeMinQuorumMet(&_DAO.CallOpts) +} + +// LastTimeMinQuorumMet is a free data retrieval call binding the contract method 0x96d7f3f5. +// +// Solidity: function lastTimeMinQuorumMet() constant returns(uint256) +func (_DAO *DAOCallerSession) LastTimeMinQuorumMet() (*big.Int, error) { + return _DAO.Contract.LastTimeMinQuorumMet(&_DAO.CallOpts) +} + +// MinQuorumDivisor is a free data retrieval call binding the contract method 0x674ed066. +// +// Solidity: function minQuorumDivisor() constant returns(uint256) +func (_DAO *DAOCaller) MinQuorumDivisor(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "minQuorumDivisor") + return *ret0, err +} + +// MinQuorumDivisor is a free data retrieval call binding the contract method 0x674ed066. +// +// Solidity: function minQuorumDivisor() constant returns(uint256) +func (_DAO *DAOSession) MinQuorumDivisor() (*big.Int, error) { + return _DAO.Contract.MinQuorumDivisor(&_DAO.CallOpts) +} + +// MinQuorumDivisor is a free data retrieval call binding the contract method 0x674ed066. +// +// Solidity: function minQuorumDivisor() constant returns(uint256) +func (_DAO *DAOCallerSession) MinQuorumDivisor() (*big.Int, error) { + return _DAO.Contract.MinQuorumDivisor(&_DAO.CallOpts) +} + +// MinTokensToCreate is a free data retrieval call binding the contract method 0x0c3b7b96. +// +// Solidity: function minTokensToCreate() constant returns(uint256) +func (_DAO *DAOCaller) MinTokensToCreate(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "minTokensToCreate") + return *ret0, err +} + +// MinTokensToCreate is a free data retrieval call binding the contract method 0x0c3b7b96. +// +// Solidity: function minTokensToCreate() constant returns(uint256) +func (_DAO *DAOSession) MinTokensToCreate() (*big.Int, error) { + return _DAO.Contract.MinTokensToCreate(&_DAO.CallOpts) +} + +// MinTokensToCreate is a free data retrieval call binding the contract method 0x0c3b7b96. +// +// Solidity: function minTokensToCreate() constant returns(uint256) +func (_DAO *DAOCallerSession) MinTokensToCreate() (*big.Int, error) { + return _DAO.Contract.MinTokensToCreate(&_DAO.CallOpts) +} + +// NumberOfProposals is a free data retrieval call binding the contract method 0x8d7af473. +// +// Solidity: function numberOfProposals() constant returns(_numberOfProposals uint256) +func (_DAO *DAOCaller) NumberOfProposals(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "numberOfProposals") + return *ret0, err +} + +// NumberOfProposals is a free data retrieval call binding the contract method 0x8d7af473. +// +// Solidity: function numberOfProposals() constant returns(_numberOfProposals uint256) +func (_DAO *DAOSession) NumberOfProposals() (*big.Int, error) { + return _DAO.Contract.NumberOfProposals(&_DAO.CallOpts) +} + +// NumberOfProposals is a free data retrieval call binding the contract method 0x8d7af473. +// +// Solidity: function numberOfProposals() constant returns(_numberOfProposals uint256) +func (_DAO *DAOCallerSession) NumberOfProposals() (*big.Int, error) { + return _DAO.Contract.NumberOfProposals(&_DAO.CallOpts) +} + +// PaidOut is a free data retrieval call binding the contract method 0x81f03fcb. +// +// Solidity: function paidOut( address) constant returns(uint256) +func (_DAO *DAOCaller) PaidOut(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "paidOut", arg0) + return *ret0, err +} + +// PaidOut is a free data retrieval call binding the contract method 0x81f03fcb. +// +// Solidity: function paidOut( address) constant returns(uint256) +func (_DAO *DAOSession) PaidOut(arg0 common.Address) (*big.Int, error) { + return _DAO.Contract.PaidOut(&_DAO.CallOpts, arg0) +} + +// PaidOut is a free data retrieval call binding the contract method 0x81f03fcb. +// +// Solidity: function paidOut( address) constant returns(uint256) +func (_DAO *DAOCallerSession) PaidOut(arg0 common.Address) (*big.Int, error) { + return _DAO.Contract.PaidOut(&_DAO.CallOpts, arg0) +} + +// PrivateCreation is a free data retrieval call binding the contract method 0xf8c80d26. +// +// Solidity: function privateCreation() constant returns(address) +func (_DAO *DAOCaller) PrivateCreation(opts *bind.CallOpts) (common.Address, error) { + var ( + ret0 = new(common.Address) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "privateCreation") + return *ret0, err +} + +// PrivateCreation is a free data retrieval call binding the contract method 0xf8c80d26. +// +// Solidity: function privateCreation() constant returns(address) +func (_DAO *DAOSession) PrivateCreation() (common.Address, error) { + return _DAO.Contract.PrivateCreation(&_DAO.CallOpts) +} + +// PrivateCreation is a free data retrieval call binding the contract method 0xf8c80d26. +// +// Solidity: function privateCreation() constant returns(address) +func (_DAO *DAOCallerSession) PrivateCreation() (common.Address, error) { + return _DAO.Contract.PrivateCreation(&_DAO.CallOpts) +} + +// ProposalDeposit is a free data retrieval call binding the contract method 0x8b15a605. +// +// Solidity: function proposalDeposit() constant returns(uint256) +func (_DAO *DAOCaller) ProposalDeposit(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "proposalDeposit") + return *ret0, err +} + +// ProposalDeposit is a free data retrieval call binding the contract method 0x8b15a605. +// +// Solidity: function proposalDeposit() constant returns(uint256) +func (_DAO *DAOSession) ProposalDeposit() (*big.Int, error) { + return _DAO.Contract.ProposalDeposit(&_DAO.CallOpts) +} + +// ProposalDeposit is a free data retrieval call binding the contract method 0x8b15a605. +// +// Solidity: function proposalDeposit() constant returns(uint256) +func (_DAO *DAOCallerSession) ProposalDeposit() (*big.Int, error) { + return _DAO.Contract.ProposalDeposit(&_DAO.CallOpts) +} + +// Proposals is a free data retrieval call binding the contract method 0x013cf08b. +// +// Solidity: function proposals( uint256) constant returns(recipient address, amount uint256, description string, votingDeadline uint256, open bool, proposalPassed bool, proposalHash bytes32, proposalDeposit uint256, newCurator bool, yea uint256, nay uint256, creator address) +func (_DAO *DAOCaller) Proposals(opts *bind.CallOpts, arg0 *big.Int) (struct { + Recipient common.Address + Amount *big.Int + Description string + VotingDeadline *big.Int + Open bool + ProposalPassed bool + ProposalHash [32]byte + ProposalDeposit *big.Int + NewCurator bool + Yea *big.Int + Nay *big.Int + Creator common.Address +}, error) { + ret := new(struct { + Recipient common.Address + Amount *big.Int + Description string + VotingDeadline *big.Int + Open bool + ProposalPassed bool + ProposalHash [32]byte + ProposalDeposit *big.Int + NewCurator bool + Yea *big.Int + Nay *big.Int + Creator common.Address + }) + out := ret + err := _DAO.contract.Call(opts, out, "proposals", arg0) + return *ret, err +} + +// Proposals is a free data retrieval call binding the contract method 0x013cf08b. +// +// Solidity: function proposals( uint256) constant returns(recipient address, amount uint256, description string, votingDeadline uint256, open bool, proposalPassed bool, proposalHash bytes32, proposalDeposit uint256, newCurator bool, yea uint256, nay uint256, creator address) +func (_DAO *DAOSession) Proposals(arg0 *big.Int) (struct { + Recipient common.Address + Amount *big.Int + Description string + VotingDeadline *big.Int + Open bool + ProposalPassed bool + ProposalHash [32]byte + ProposalDeposit *big.Int + NewCurator bool + Yea *big.Int + Nay *big.Int + Creator common.Address +}, error) { + return _DAO.Contract.Proposals(&_DAO.CallOpts, arg0) +} + +// Proposals is a free data retrieval call binding the contract method 0x013cf08b. +// +// Solidity: function proposals( uint256) constant returns(recipient address, amount uint256, description string, votingDeadline uint256, open bool, proposalPassed bool, proposalHash bytes32, proposalDeposit uint256, newCurator bool, yea uint256, nay uint256, creator address) +func (_DAO *DAOCallerSession) Proposals(arg0 *big.Int) (struct { + Recipient common.Address + Amount *big.Int + Description string + VotingDeadline *big.Int + Open bool + ProposalPassed bool + ProposalHash [32]byte + ProposalDeposit *big.Int + NewCurator bool + Yea *big.Int + Nay *big.Int + Creator common.Address +}, error) { + return _DAO.Contract.Proposals(&_DAO.CallOpts, arg0) +} + +// RewardAccount is a free data retrieval call binding the contract method 0x0e708203. +// +// Solidity: function rewardAccount() constant returns(address) +func (_DAO *DAOCaller) RewardAccount(opts *bind.CallOpts) (common.Address, error) { + var ( + ret0 = new(common.Address) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "rewardAccount") + return *ret0, err +} + +// RewardAccount is a free data retrieval call binding the contract method 0x0e708203. +// +// Solidity: function rewardAccount() constant returns(address) +func (_DAO *DAOSession) RewardAccount() (common.Address, error) { + return _DAO.Contract.RewardAccount(&_DAO.CallOpts) +} + +// RewardAccount is a free data retrieval call binding the contract method 0x0e708203. +// +// Solidity: function rewardAccount() constant returns(address) +func (_DAO *DAOCallerSession) RewardAccount() (common.Address, error) { + return _DAO.Contract.RewardAccount(&_DAO.CallOpts) +} + +// RewardToken is a free data retrieval call binding the contract method 0xcdef91d0. +// +// Solidity: function rewardToken( address) constant returns(uint256) +func (_DAO *DAOCaller) RewardToken(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "rewardToken", arg0) + return *ret0, err +} + +// RewardToken is a free data retrieval call binding the contract method 0xcdef91d0. +// +// Solidity: function rewardToken( address) constant returns(uint256) +func (_DAO *DAOSession) RewardToken(arg0 common.Address) (*big.Int, error) { + return _DAO.Contract.RewardToken(&_DAO.CallOpts, arg0) +} + +// RewardToken is a free data retrieval call binding the contract method 0xcdef91d0. +// +// Solidity: function rewardToken( address) constant returns(uint256) +func (_DAO *DAOCallerSession) RewardToken(arg0 common.Address) (*big.Int, error) { + return _DAO.Contract.RewardToken(&_DAO.CallOpts, arg0) +} + +// TotalRewardToken is a free data retrieval call binding the contract method 0x34145808. +// +// Solidity: function totalRewardToken() constant returns(uint256) +func (_DAO *DAOCaller) TotalRewardToken(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "totalRewardToken") + return *ret0, err +} + +// TotalRewardToken is a free data retrieval call binding the contract method 0x34145808. +// +// Solidity: function totalRewardToken() constant returns(uint256) +func (_DAO *DAOSession) TotalRewardToken() (*big.Int, error) { + return _DAO.Contract.TotalRewardToken(&_DAO.CallOpts) +} + +// TotalRewardToken is a free data retrieval call binding the contract method 0x34145808. +// +// Solidity: function totalRewardToken() constant returns(uint256) +func (_DAO *DAOCallerSession) TotalRewardToken() (*big.Int, error) { + return _DAO.Contract.TotalRewardToken(&_DAO.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() constant returns(uint256) +func (_DAO *DAOCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { + var ( + ret0 = new(*big.Int) + ) + out := ret0 + err := _DAO.contract.Call(opts, out, "totalSupply") + return *ret0, err +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() constant returns(uint256) +func (_DAO *DAOSession) TotalSupply() (*big.Int, error) { + return _DAO.Contract.TotalSupply(&_DAO.CallOpts) +} + +// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. +// +// Solidity: function totalSupply() constant returns(uint256) +func (_DAO *DAOCallerSession) TotalSupply() (*big.Int, error) { + return _DAO.Contract.TotalSupply(&_DAO.CallOpts) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(_spender address, _amount uint256) returns(success bool) +func (_DAO *DAOTransactor) Approve(opts *bind.TransactOpts, _spender common.Address, _amount *big.Int) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "approve", _spender, _amount) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(_spender address, _amount uint256) returns(success bool) +func (_DAO *DAOSession) Approve(_spender common.Address, _amount *big.Int) (*types.Transaction, error) { + return _DAO.Contract.Approve(&_DAO.TransactOpts, _spender, _amount) +} + +// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. +// +// Solidity: function approve(_spender address, _amount uint256) returns(success bool) +func (_DAO *DAOTransactorSession) Approve(_spender common.Address, _amount *big.Int) (*types.Transaction, error) { + return _DAO.Contract.Approve(&_DAO.TransactOpts, _spender, _amount) +} + +// ChangeAllowedRecipients is a paid mutator transaction binding the contract method 0x749f9889. +// +// Solidity: function changeAllowedRecipients(_recipient address, _allowed bool) returns(_success bool) +func (_DAO *DAOTransactor) ChangeAllowedRecipients(opts *bind.TransactOpts, _recipient common.Address, _allowed bool) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "changeAllowedRecipients", _recipient, _allowed) +} + +// ChangeAllowedRecipients is a paid mutator transaction binding the contract method 0x749f9889. +// +// Solidity: function changeAllowedRecipients(_recipient address, _allowed bool) returns(_success bool) +func (_DAO *DAOSession) ChangeAllowedRecipients(_recipient common.Address, _allowed bool) (*types.Transaction, error) { + return _DAO.Contract.ChangeAllowedRecipients(&_DAO.TransactOpts, _recipient, _allowed) +} + +// ChangeAllowedRecipients is a paid mutator transaction binding the contract method 0x749f9889. +// +// Solidity: function changeAllowedRecipients(_recipient address, _allowed bool) returns(_success bool) +func (_DAO *DAOTransactorSession) ChangeAllowedRecipients(_recipient common.Address, _allowed bool) (*types.Transaction, error) { + return _DAO.Contract.ChangeAllowedRecipients(&_DAO.TransactOpts, _recipient, _allowed) +} + +// ChangeProposalDeposit is a paid mutator transaction binding the contract method 0xe33734fd. +// +// Solidity: function changeProposalDeposit(_proposalDeposit uint256) returns() +func (_DAO *DAOTransactor) ChangeProposalDeposit(opts *bind.TransactOpts, _proposalDeposit *big.Int) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "changeProposalDeposit", _proposalDeposit) +} + +// ChangeProposalDeposit is a paid mutator transaction binding the contract method 0xe33734fd. +// +// Solidity: function changeProposalDeposit(_proposalDeposit uint256) returns() +func (_DAO *DAOSession) ChangeProposalDeposit(_proposalDeposit *big.Int) (*types.Transaction, error) { + return _DAO.Contract.ChangeProposalDeposit(&_DAO.TransactOpts, _proposalDeposit) +} + +// ChangeProposalDeposit is a paid mutator transaction binding the contract method 0xe33734fd. +// +// Solidity: function changeProposalDeposit(_proposalDeposit uint256) returns() +func (_DAO *DAOTransactorSession) ChangeProposalDeposit(_proposalDeposit *big.Int) (*types.Transaction, error) { + return _DAO.Contract.ChangeProposalDeposit(&_DAO.TransactOpts, _proposalDeposit) +} + +// CreateTokenProxy is a paid mutator transaction binding the contract method 0xbaac5300. +// +// Solidity: function createTokenProxy(_tokenHolder address) returns(success bool) +func (_DAO *DAOTransactor) CreateTokenProxy(opts *bind.TransactOpts, _tokenHolder common.Address) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "createTokenProxy", _tokenHolder) +} + +// CreateTokenProxy is a paid mutator transaction binding the contract method 0xbaac5300. +// +// Solidity: function createTokenProxy(_tokenHolder address) returns(success bool) +func (_DAO *DAOSession) CreateTokenProxy(_tokenHolder common.Address) (*types.Transaction, error) { + return _DAO.Contract.CreateTokenProxy(&_DAO.TransactOpts, _tokenHolder) +} + +// CreateTokenProxy is a paid mutator transaction binding the contract method 0xbaac5300. +// +// Solidity: function createTokenProxy(_tokenHolder address) returns(success bool) +func (_DAO *DAOTransactorSession) CreateTokenProxy(_tokenHolder common.Address) (*types.Transaction, error) { + return _DAO.Contract.CreateTokenProxy(&_DAO.TransactOpts, _tokenHolder) +} + +// ExecuteProposal is a paid mutator transaction binding the contract method 0x237e9492. +// +// Solidity: function executeProposal(_proposalID uint256, _transactionData bytes) returns(_success bool) +func (_DAO *DAOTransactor) ExecuteProposal(opts *bind.TransactOpts, _proposalID *big.Int, _transactionData []byte) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "executeProposal", _proposalID, _transactionData) +} + +// ExecuteProposal is a paid mutator transaction binding the contract method 0x237e9492. +// +// Solidity: function executeProposal(_proposalID uint256, _transactionData bytes) returns(_success bool) +func (_DAO *DAOSession) ExecuteProposal(_proposalID *big.Int, _transactionData []byte) (*types.Transaction, error) { + return _DAO.Contract.ExecuteProposal(&_DAO.TransactOpts, _proposalID, _transactionData) +} + +// ExecuteProposal is a paid mutator transaction binding the contract method 0x237e9492. +// +// Solidity: function executeProposal(_proposalID uint256, _transactionData bytes) returns(_success bool) +func (_DAO *DAOTransactorSession) ExecuteProposal(_proposalID *big.Int, _transactionData []byte) (*types.Transaction, error) { + return _DAO.Contract.ExecuteProposal(&_DAO.TransactOpts, _proposalID, _transactionData) +} + +// GetMyReward is a paid mutator transaction binding the contract method 0xcc9ae3f6. +// +// Solidity: function getMyReward() returns(_success bool) +func (_DAO *DAOTransactor) GetMyReward(opts *bind.TransactOpts) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "getMyReward") +} + +// GetMyReward is a paid mutator transaction binding the contract method 0xcc9ae3f6. +// +// Solidity: function getMyReward() returns(_success bool) +func (_DAO *DAOSession) GetMyReward() (*types.Transaction, error) { + return _DAO.Contract.GetMyReward(&_DAO.TransactOpts) +} + +// GetMyReward is a paid mutator transaction binding the contract method 0xcc9ae3f6. +// +// Solidity: function getMyReward() returns(_success bool) +func (_DAO *DAOTransactorSession) GetMyReward() (*types.Transaction, error) { + return _DAO.Contract.GetMyReward(&_DAO.TransactOpts) +} + +// HalveMinQuorum is a paid mutator transaction binding the contract method 0x78524b2e. +// +// Solidity: function halveMinQuorum() returns(_success bool) +func (_DAO *DAOTransactor) HalveMinQuorum(opts *bind.TransactOpts) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "halveMinQuorum") +} + +// HalveMinQuorum is a paid mutator transaction binding the contract method 0x78524b2e. +// +// Solidity: function halveMinQuorum() returns(_success bool) +func (_DAO *DAOSession) HalveMinQuorum() (*types.Transaction, error) { + return _DAO.Contract.HalveMinQuorum(&_DAO.TransactOpts) +} + +// HalveMinQuorum is a paid mutator transaction binding the contract method 0x78524b2e. +// +// Solidity: function halveMinQuorum() returns(_success bool) +func (_DAO *DAOTransactorSession) HalveMinQuorum() (*types.Transaction, error) { + return _DAO.Contract.HalveMinQuorum(&_DAO.TransactOpts) +} + +// NewContract is a paid mutator transaction binding the contract method 0x6837ff1e. +// +// Solidity: function newContract(_newContract address) returns() +func (_DAO *DAOTransactor) NewContract(opts *bind.TransactOpts, _newContract common.Address) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "newContract", _newContract) +} + +// NewContract is a paid mutator transaction binding the contract method 0x6837ff1e. +// +// Solidity: function newContract(_newContract address) returns() +func (_DAO *DAOSession) NewContract(_newContract common.Address) (*types.Transaction, error) { + return _DAO.Contract.NewContract(&_DAO.TransactOpts, _newContract) +} + +// NewContract is a paid mutator transaction binding the contract method 0x6837ff1e. +// +// Solidity: function newContract(_newContract address) returns() +func (_DAO *DAOTransactorSession) NewContract(_newContract common.Address) (*types.Transaction, error) { + return _DAO.Contract.NewContract(&_DAO.TransactOpts, _newContract) +} + +// NewProposal is a paid mutator transaction binding the contract method 0x612e45a3. +// +// Solidity: function newProposal(_recipient address, _amount uint256, _description string, _transactionData bytes, _debatingPeriod uint256, _newCurator bool) returns(_proposalID uint256) +func (_DAO *DAOTransactor) NewProposal(opts *bind.TransactOpts, _recipient common.Address, _amount *big.Int, _description string, _transactionData []byte, _debatingPeriod *big.Int, _newCurator bool) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "newProposal", _recipient, _amount, _description, _transactionData, _debatingPeriod, _newCurator) +} + +// NewProposal is a paid mutator transaction binding the contract method 0x612e45a3. +// +// Solidity: function newProposal(_recipient address, _amount uint256, _description string, _transactionData bytes, _debatingPeriod uint256, _newCurator bool) returns(_proposalID uint256) +func (_DAO *DAOSession) NewProposal(_recipient common.Address, _amount *big.Int, _description string, _transactionData []byte, _debatingPeriod *big.Int, _newCurator bool) (*types.Transaction, error) { + return _DAO.Contract.NewProposal(&_DAO.TransactOpts, _recipient, _amount, _description, _transactionData, _debatingPeriod, _newCurator) +} + +// NewProposal is a paid mutator transaction binding the contract method 0x612e45a3. +// +// Solidity: function newProposal(_recipient address, _amount uint256, _description string, _transactionData bytes, _debatingPeriod uint256, _newCurator bool) returns(_proposalID uint256) +func (_DAO *DAOTransactorSession) NewProposal(_recipient common.Address, _amount *big.Int, _description string, _transactionData []byte, _debatingPeriod *big.Int, _newCurator bool) (*types.Transaction, error) { + return _DAO.Contract.NewProposal(&_DAO.TransactOpts, _recipient, _amount, _description, _transactionData, _debatingPeriod, _newCurator) +} + +// ReceiveEther is a paid mutator transaction binding the contract method 0xa3912ec8. +// +// Solidity: function receiveEther() returns(bool) +func (_DAO *DAOTransactor) ReceiveEther(opts *bind.TransactOpts) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "receiveEther") +} + +// ReceiveEther is a paid mutator transaction binding the contract method 0xa3912ec8. +// +// Solidity: function receiveEther() returns(bool) +func (_DAO *DAOSession) ReceiveEther() (*types.Transaction, error) { + return _DAO.Contract.ReceiveEther(&_DAO.TransactOpts) +} + +// ReceiveEther is a paid mutator transaction binding the contract method 0xa3912ec8. +// +// Solidity: function receiveEther() returns(bool) +func (_DAO *DAOTransactorSession) ReceiveEther() (*types.Transaction, error) { + return _DAO.Contract.ReceiveEther(&_DAO.TransactOpts) +} + +// Refund is a paid mutator transaction binding the contract method 0x590e1ae3. +// +// Solidity: function refund() returns() +func (_DAO *DAOTransactor) Refund(opts *bind.TransactOpts) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "refund") +} + +// Refund is a paid mutator transaction binding the contract method 0x590e1ae3. +// +// Solidity: function refund() returns() +func (_DAO *DAOSession) Refund() (*types.Transaction, error) { + return _DAO.Contract.Refund(&_DAO.TransactOpts) +} + +// Refund is a paid mutator transaction binding the contract method 0x590e1ae3. +// +// Solidity: function refund() returns() +func (_DAO *DAOTransactorSession) Refund() (*types.Transaction, error) { + return _DAO.Contract.Refund(&_DAO.TransactOpts) +} + +// RetrieveDAOReward is a paid mutator transaction binding the contract method 0xa1da2fb9. +// +// Solidity: function retrieveDAOReward(_toMembers bool) returns(_success bool) +func (_DAO *DAOTransactor) RetrieveDAOReward(opts *bind.TransactOpts, _toMembers bool) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "retrieveDAOReward", _toMembers) +} + +// RetrieveDAOReward is a paid mutator transaction binding the contract method 0xa1da2fb9. +// +// Solidity: function retrieveDAOReward(_toMembers bool) returns(_success bool) +func (_DAO *DAOSession) RetrieveDAOReward(_toMembers bool) (*types.Transaction, error) { + return _DAO.Contract.RetrieveDAOReward(&_DAO.TransactOpts, _toMembers) +} + +// RetrieveDAOReward is a paid mutator transaction binding the contract method 0xa1da2fb9. +// +// Solidity: function retrieveDAOReward(_toMembers bool) returns(_success bool) +func (_DAO *DAOTransactorSession) RetrieveDAOReward(_toMembers bool) (*types.Transaction, error) { + return _DAO.Contract.RetrieveDAOReward(&_DAO.TransactOpts, _toMembers) +} + +// SplitDAO is a paid mutator transaction binding the contract method 0x82661dc4. +// +// Solidity: function splitDAO(_proposalID uint256, _newCurator address) returns(_success bool) +func (_DAO *DAOTransactor) SplitDAO(opts *bind.TransactOpts, _proposalID *big.Int, _newCurator common.Address) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "splitDAO", _proposalID, _newCurator) +} + +// SplitDAO is a paid mutator transaction binding the contract method 0x82661dc4. +// +// Solidity: function splitDAO(_proposalID uint256, _newCurator address) returns(_success bool) +func (_DAO *DAOSession) SplitDAO(_proposalID *big.Int, _newCurator common.Address) (*types.Transaction, error) { + return _DAO.Contract.SplitDAO(&_DAO.TransactOpts, _proposalID, _newCurator) +} + +// SplitDAO is a paid mutator transaction binding the contract method 0x82661dc4. +// +// Solidity: function splitDAO(_proposalID uint256, _newCurator address) returns(_success bool) +func (_DAO *DAOTransactorSession) SplitDAO(_proposalID *big.Int, _newCurator common.Address) (*types.Transaction, error) { + return _DAO.Contract.SplitDAO(&_DAO.TransactOpts, _proposalID, _newCurator) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(_to address, _value uint256) returns(success bool) +func (_DAO *DAOTransactor) Transfer(opts *bind.TransactOpts, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "transfer", _to, _value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(_to address, _value uint256) returns(success bool) +func (_DAO *DAOSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.Contract.Transfer(&_DAO.TransactOpts, _to, _value) +} + +// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. +// +// Solidity: function transfer(_to address, _value uint256) returns(success bool) +func (_DAO *DAOTransactorSession) Transfer(_to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.Contract.Transfer(&_DAO.TransactOpts, _to, _value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(_from address, _to address, _value uint256) returns(success bool) +func (_DAO *DAOTransactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "transferFrom", _from, _to, _value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(_from address, _to address, _value uint256) returns(success bool) +func (_DAO *DAOSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.Contract.TransferFrom(&_DAO.TransactOpts, _from, _to, _value) +} + +// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. +// +// Solidity: function transferFrom(_from address, _to address, _value uint256) returns(success bool) +func (_DAO *DAOTransactorSession) TransferFrom(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.Contract.TransferFrom(&_DAO.TransactOpts, _from, _to, _value) +} + +// TransferFromWithoutReward is a paid mutator transaction binding the contract method 0xdbde1988. +// +// Solidity: function transferFromWithoutReward(_from address, _to address, _value uint256) returns(success bool) +func (_DAO *DAOTransactor) TransferFromWithoutReward(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "transferFromWithoutReward", _from, _to, _value) +} + +// TransferFromWithoutReward is a paid mutator transaction binding the contract method 0xdbde1988. +// +// Solidity: function transferFromWithoutReward(_from address, _to address, _value uint256) returns(success bool) +func (_DAO *DAOSession) TransferFromWithoutReward(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.Contract.TransferFromWithoutReward(&_DAO.TransactOpts, _from, _to, _value) +} + +// TransferFromWithoutReward is a paid mutator transaction binding the contract method 0xdbde1988. +// +// Solidity: function transferFromWithoutReward(_from address, _to address, _value uint256) returns(success bool) +func (_DAO *DAOTransactorSession) TransferFromWithoutReward(_from common.Address, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.Contract.TransferFromWithoutReward(&_DAO.TransactOpts, _from, _to, _value) +} + +// TransferWithoutReward is a paid mutator transaction binding the contract method 0x4e10c3ee. +// +// Solidity: function transferWithoutReward(_to address, _value uint256) returns(success bool) +func (_DAO *DAOTransactor) TransferWithoutReward(opts *bind.TransactOpts, _to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "transferWithoutReward", _to, _value) +} + +// TransferWithoutReward is a paid mutator transaction binding the contract method 0x4e10c3ee. +// +// Solidity: function transferWithoutReward(_to address, _value uint256) returns(success bool) +func (_DAO *DAOSession) TransferWithoutReward(_to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.Contract.TransferWithoutReward(&_DAO.TransactOpts, _to, _value) +} + +// TransferWithoutReward is a paid mutator transaction binding the contract method 0x4e10c3ee. +// +// Solidity: function transferWithoutReward(_to address, _value uint256) returns(success bool) +func (_DAO *DAOTransactorSession) TransferWithoutReward(_to common.Address, _value *big.Int) (*types.Transaction, error) { + return _DAO.Contract.TransferWithoutReward(&_DAO.TransactOpts, _to, _value) +} + +// UnblockMe is a paid mutator transaction binding the contract method 0x2632bf20. +// +// Solidity: function unblockMe() returns(bool) +func (_DAO *DAOTransactor) UnblockMe(opts *bind.TransactOpts) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "unblockMe") +} + +// UnblockMe is a paid mutator transaction binding the contract method 0x2632bf20. +// +// Solidity: function unblockMe() returns(bool) +func (_DAO *DAOSession) UnblockMe() (*types.Transaction, error) { + return _DAO.Contract.UnblockMe(&_DAO.TransactOpts) +} + +// UnblockMe is a paid mutator transaction binding the contract method 0x2632bf20. +// +// Solidity: function unblockMe() returns(bool) +func (_DAO *DAOTransactorSession) UnblockMe() (*types.Transaction, error) { + return _DAO.Contract.UnblockMe(&_DAO.TransactOpts) +} + +// Vote is a paid mutator transaction binding the contract method 0xc9d27afe. +// +// Solidity: function vote(_proposalID uint256, _supportsProposal bool) returns(_voteID uint256) +func (_DAO *DAOTransactor) Vote(opts *bind.TransactOpts, _proposalID *big.Int, _supportsProposal bool) (*types.Transaction, error) { + return _DAO.contract.Transact(opts, "vote", _proposalID, _supportsProposal) +} + +// Vote is a paid mutator transaction binding the contract method 0xc9d27afe. +// +// Solidity: function vote(_proposalID uint256, _supportsProposal bool) returns(_voteID uint256) +func (_DAO *DAOSession) Vote(_proposalID *big.Int, _supportsProposal bool) (*types.Transaction, error) { + return _DAO.Contract.Vote(&_DAO.TransactOpts, _proposalID, _supportsProposal) +} + +// Vote is a paid mutator transaction binding the contract method 0xc9d27afe. +// +// Solidity: function vote(_proposalID uint256, _supportsProposal bool) returns(_voteID uint256) +func (_DAO *DAOTransactorSession) Vote(_proposalID *big.Int, _supportsProposal bool) (*types.Transaction, error) { + return _DAO.Contract.Vote(&_DAO.TransactOpts, _proposalID, _supportsProposal) +}