contract_extender.go 82 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617
  1. // Code generated - DO NOT EDIT.
  2. // This file is a generated binding and any manual changes will be lost.
  3. package extensionContracts
  4. import (
  5. "math/big"
  6. "strings"
  7. ethereum "github.com/ethereum/go-ethereum"
  8. "github.com/ethereum/go-ethereum/accounts/abi"
  9. "github.com/ethereum/go-ethereum/accounts/abi/bind"
  10. "github.com/ethereum/go-ethereum/common"
  11. "github.com/ethereum/go-ethereum/core/types"
  12. "github.com/ethereum/go-ethereum/event"
  13. )
  14. // Reference imports to suppress errors if they are not otherwise used.
  15. var (
  16. _ = big.NewInt
  17. _ = strings.NewReader
  18. _ = ethereum.NotFound
  19. _ = bind.Bind
  20. _ = common.Big1
  21. _ = types.BloomLookup
  22. _ = event.NewSubscription
  23. )
  24. // ContractExtenderABI is the input ABI used to generate the binding from.
  25. const ContractExtenderABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"recipientPTMKey\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"outcome\",\"type\":\"bool\"}],\"name\":\"AllNodesHaveAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"CanPerformStateShare\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ExtensionFinished\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"toExtend\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"recipientPTMKey\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"}],\"name\":\"NewContractExtensionContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"vote\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"NewVote\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"toExtend\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tesserahash\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uuid\",\"type\":\"string\"}],\"name\":\"StateShared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"toExtend\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uuid\",\"type\":\"string\"}],\"name\":\"UpdateMembers\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"checkIfExtensionFinished\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"checkIfVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"contractToExtend\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bool\",\"name\":\"vote\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"nextuuid\",\"type\":\"string\"}],\"name\":\"doVote\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finish\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"haveAllNodesVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isFinished\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"hash\",\"type\":\"string\"}],\"name\":\"setSharedStateHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"nextuuid\",\"type\":\"string\"}],\"name\":\"setUuid\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"sharedDataHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"targetRecipientPTMKey\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalNumberOfVoters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"updatePartyMembers\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"voteOutcome\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"votes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"walletAddressesToVote\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]"
  26. var ContractExtenderParsedABI, _ = abi.JSON(strings.NewReader(ContractExtenderABI))
  27. // ContractExtenderBin is the compiled bytecode used for deploying new contracts.
  28. var ContractExtenderBin = "0x60806040523480156200001157600080fd5b5060405162001cbb38038062001cbb833981810160405260608110156200003757600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200006c57600080fd5b838201915060208201858111156200008357600080fd5b8251866001820283011164010000000082111715620000a157600080fd5b8083526020830192505050908051906020019080838360005b83811015620000d7578082015181840152602081019050620000ba565b50505050905090810190601f168015620001055780820380516001836020036101000a031916815260200191505b50604052505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060019080519060200190620001649291906200048c565b5082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060033390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060038290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060405180602001604052806000815250600a9080519060200190620002999291906200048c565b506001600960006101000a81548160ff021916908315150217905550600060068190555060008090505b6003805490508110156200036f5760016005600060038481548110620002e557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050620002c3565b506003805490506004819055507f04576ede6057794ada68966eebc285c98a2726cbc4929ffd1ad9900336728d93838284604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156200044657808201518184015260208101905062000429565b50505050905090810190601f168015620004745780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050506200053b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004cf57805160ff191683800117855562000500565b8280016001018555821562000500579182015b82811115620004ff578251825591602001919060010190620004e2565b5b5090506200050f919062000513565b5090565b6200053891905b80821115620005345760008160009055506001016200051a565b5090565b90565b611770806200054b6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063893971ba116100a2578063d56b288911610071578063d56b2889146104bb578063d8bff5a5146104c5578063de5828cb14610521578063e5af0f30146105e8578063f57077d81461066b5761010b565b8063893971ba146103b2578063ac8b92051461046d578063b5da45bb14610477578063cb2805ec146104995761010b565b806379d41b8f116100de57806379d41b8f146101e45780637b35296214610252578063821e93da1461027457806388f520a01461032f5761010b565b806302d05d3f1461011057806315e56a6a1461015a5780631962cb9b146101a457806338527727146101c6575b600080fd5b61011861068d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101626106b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101ac6106d8565b604051808215151515815260200191505060405180910390f35b6101ce6106ef565b6040518082815260200191505060405180910390f35b610210600480360360208110156101fa57600080fd5b81019080803590602001909291905050506106f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025a610731565b604051808215151515815260200191505060405180910390f35b61032d6004803603602081101561028a57600080fd5b81019080803590602001906401000000008111156102a757600080fd5b8201836020820111156102b957600080fd5b803590602001918460018302840111640100000000831117156102db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610744565b005b6103376107ec565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561037757808201518184015260208101905061035c565b50505050905090810190601f1680156103a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61046b600480360360208110156103c857600080fd5b81019080803590602001906401000000008111156103e557600080fd5b8201836020820111156103f757600080fd5b8035906020019184600183028401116401000000008311171561041957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061088a565b005b610475610d1d565b005b61047f610e65565b604051808215151515815260200191505060405180910390f35b6104a1610e78565b604051808215151515815260200191505060405180910390f35b6104c3610ecc565b005b610507600480360360208110156104db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fe1565b604051808215151515815260200191505060405180910390f35b6105e66004803603604081101561053757600080fd5b810190808035151590602001909291908035906020019064010000000081111561056057600080fd5b82018360208201111561057257600080fd5b8035906020019184600183028401116401000000008311171561059457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611001565b005b6105f06110fb565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610630578082015181840152602081019050610615565b50505050905090810190601f16801561065d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610673611199565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c60009054906101000a900460ff16905090565b60045481565b6003818154811061070257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900460ff1681565b600c60009054906101000a900460ff16156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806117176025913960400191505060405180910390fd5b600b8190806001815401808255809150509060018203906000526020600020016000909192909190915090805190602001906107e7929190611626565b505050565b600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461092f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116f46023913960400191505060405180910390fd5b600c60009054906101000a900460ff1615610995576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806117176025913960400191505060405180910390fd5b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a2d5780601f10610a0257610100808354040283529160200191610a2d565b820191906000526020600020905b815481529060010190602001808311610a1057829003601f168201915b505050505090506060829050600081511415610ab1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6e657720686173682063616e6e6f7420626520656d707479000000000000000081525060200191505060405180910390fd5b6000825114610b28576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f7374617465206861736820616c7265616479207365740000000000000000000081525060200191505060405180910390fd5b82600a9080519060200190610b3e929190611626565b5060008090505b600b80549050811015610d0f577f67a92539f3cbd7c5a9b36c23c0e2beceb27d2e1b3cd8eda02c623689267ae71e600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a600b8481548110610ba557fe5b90600052602060002001604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610c6e5780601f10610c4357610100808354040283529160200191610c6e565b820191906000526020600020905b815481529060010190602001808311610c5157829003601f168201915b5050838103825284818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610cf15780601f10610cc657610100808354040283529160200191610cf1565b820191906000526020600020905b815481529060010190602001808311610cd457829003601f168201915b50509550505050505060405180910390a18080600101915050610b45565b50610d18610ecc565b505050565b60008090505b600b80549050811015610e62577f8adc4573f947f9930560525736f61b116be55049125cb63a36887a40f92f3b44600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b8381548110610d8157fe5b90600052602060002001604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610e465780601f10610e1b57610100808354040283529160200191610e46565b820191906000526020600020905b815481529060010190602001808311610e2957829003601f168201915b5050935050505060405180910390a18080600101915050610d23565b50565b600960009054906101000a900460ff1681565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905090565b600c60009054906101000a900460ff1615610f32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806117176025913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116f46023913960400191505060405180910390fd5b610fdf6111aa565b565b60086020528060005260406000206000915054906101000a900460ff1681565b600c60009054906101000a900460ff1615611067576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806117176025913960400191505060405180910390fd5b611070826111f3565b81156110805761107f81610744565b5b611088611550565b7f225708d30006b0cc86d855ab91047edb5fe9c2e416412f36c18c6e90fe4e461f823360405180831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a15050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111915780601f1061116657610100808354040283529160200191611191565b820191906000526020600020905b81548152906001019060200180831161117457829003601f168201915b505050505081565b600060065460038054905014905090565b6001600c60006101000a81548160ff0219169083151502179055507f79c47b570b18a8a814b785800e5fcbf104e067663589cef1bba07756e3c6ede960405160405180910390a1565b600c60009054906101000a900460ff1615611259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806116cc6028913960400191505060405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611318576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f6e6f7420616c6c6f77656420746f20766f74650000000000000000000000000081525060200191505060405180910390fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f616c726561647920766f7465640000000000000000000000000000000000000081525060200191505060405180910390fd5b600960009054906101000a900460ff1661145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f766f74696e6720616c7265616479206465636c696e656400000000000000000081525060200191505060405180910390fd5b6001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600660008154809291906001019190505550600960009054906101000a900460ff1680156115345750805b600960006101000a81548160ff02191690831515021790555050565b600960009054906101000a900460ff166115ad577ff20540914db019dd7c8d05ed165316a58d1583642772ac46f3d0c29b8644bd366000604051808215151515815260200191505060405180910390a16115a86111aa565b611624565b6115b5611199565b15611623577ff20540914db019dd7c8d05ed165316a58d1583642772ac46f3d0c29b8644bd366001604051808215151515815260200191505060405180910390a17ffd46cafaa71d87561071b8095703a7f081265fad232945049f5cf2d2c39b3d2860405160405180910390a15b5b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061166757805160ff1916838001178555611695565b82800160010185558215611695579182015b82811115611694578251825591602001919060010190611679565b5b5090506116a291906116a6565b5090565b6116c891905b808211156116c45760008160009055506001016116ac565b5090565b9056fe657874656e73696f6e2070726f6365737320636f6d706c657465642e2063616e6e6f7420766f74656f6e6c79206c6561646572206d617920706572666f726d207468697320616374696f6e657874656e73696f6e20686173206265656e206d61726b65642061732066696e6973686564a265627a7a72315820625108b92f7ff30d44757ae1bb19335828b2892b67a277794ea401fa969f7bdf64736f6c63430005110032"
  29. // DeployContractExtender deploys a new Ethereum contract, binding an instance of ContractExtender to it.
  30. func DeployContractExtender(auth *bind.TransactOpts, backend bind.ContractBackend, contractAddress common.Address, recipientAddress common.Address, recipientPTMKey string) (common.Address, *types.Transaction, *ContractExtender, error) {
  31. parsed, err := abi.JSON(strings.NewReader(ContractExtenderABI))
  32. if err != nil {
  33. return common.Address{}, nil, nil, err
  34. }
  35. address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ContractExtenderBin), backend, contractAddress, recipientAddress, recipientPTMKey)
  36. if err != nil {
  37. return common.Address{}, nil, nil, err
  38. }
  39. return address, tx, &ContractExtender{ContractExtenderCaller: ContractExtenderCaller{contract: contract}, ContractExtenderTransactor: ContractExtenderTransactor{contract: contract}, ContractExtenderFilterer: ContractExtenderFilterer{contract: contract}}, nil
  40. }
  41. // ContractExtender is an auto generated Go binding around an Ethereum contract.
  42. type ContractExtender struct {
  43. ContractExtenderCaller // Read-only binding to the contract
  44. ContractExtenderTransactor // Write-only binding to the contract
  45. ContractExtenderFilterer // Log filterer for contract events
  46. }
  47. // ContractExtenderCaller is an auto generated read-only Go binding around an Ethereum contract.
  48. type ContractExtenderCaller struct {
  49. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  50. }
  51. // ContractExtenderTransactor is an auto generated write-only Go binding around an Ethereum contract.
  52. type ContractExtenderTransactor struct {
  53. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  54. }
  55. // ContractExtenderFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  56. type ContractExtenderFilterer struct {
  57. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  58. }
  59. // ContractExtenderSession is an auto generated Go binding around an Ethereum contract,
  60. // with pre-set call and transact options.
  61. type ContractExtenderSession struct {
  62. Contract *ContractExtender // Generic contract binding to set the session for
  63. CallOpts bind.CallOpts // Call options to use throughout this session
  64. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  65. }
  66. // ContractExtenderCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  67. // with pre-set call options.
  68. type ContractExtenderCallerSession struct {
  69. Contract *ContractExtenderCaller // Generic contract caller binding to set the session for
  70. CallOpts bind.CallOpts // Call options to use throughout this session
  71. }
  72. // ContractExtenderTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  73. // with pre-set transact options.
  74. type ContractExtenderTransactorSession struct {
  75. Contract *ContractExtenderTransactor // Generic contract transactor binding to set the session for
  76. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  77. }
  78. // ContractExtenderRaw is an auto generated low-level Go binding around an Ethereum contract.
  79. type ContractExtenderRaw struct {
  80. Contract *ContractExtender // Generic contract binding to access the raw methods on
  81. }
  82. // ContractExtenderCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  83. type ContractExtenderCallerRaw struct {
  84. Contract *ContractExtenderCaller // Generic read-only contract binding to access the raw methods on
  85. }
  86. // ContractExtenderTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  87. type ContractExtenderTransactorRaw struct {
  88. Contract *ContractExtenderTransactor // Generic write-only contract binding to access the raw methods on
  89. }
  90. // NewContractExtender creates a new instance of ContractExtender, bound to a specific deployed contract.
  91. func NewContractExtender(address common.Address, backend bind.ContractBackend) (*ContractExtender, error) {
  92. contract, err := bindContractExtender(address, backend, backend, backend)
  93. if err != nil {
  94. return nil, err
  95. }
  96. return &ContractExtender{ContractExtenderCaller: ContractExtenderCaller{contract: contract}, ContractExtenderTransactor: ContractExtenderTransactor{contract: contract}, ContractExtenderFilterer: ContractExtenderFilterer{contract: contract}}, nil
  97. }
  98. // NewContractExtenderCaller creates a new read-only instance of ContractExtender, bound to a specific deployed contract.
  99. func NewContractExtenderCaller(address common.Address, caller bind.ContractCaller) (*ContractExtenderCaller, error) {
  100. contract, err := bindContractExtender(address, caller, nil, nil)
  101. if err != nil {
  102. return nil, err
  103. }
  104. return &ContractExtenderCaller{contract: contract}, nil
  105. }
  106. // NewContractExtenderTransactor creates a new write-only instance of ContractExtender, bound to a specific deployed contract.
  107. func NewContractExtenderTransactor(address common.Address, transactor bind.ContractTransactor) (*ContractExtenderTransactor, error) {
  108. contract, err := bindContractExtender(address, nil, transactor, nil)
  109. if err != nil {
  110. return nil, err
  111. }
  112. return &ContractExtenderTransactor{contract: contract}, nil
  113. }
  114. // NewContractExtenderFilterer creates a new log filterer instance of ContractExtender, bound to a specific deployed contract.
  115. func NewContractExtenderFilterer(address common.Address, filterer bind.ContractFilterer) (*ContractExtenderFilterer, error) {
  116. contract, err := bindContractExtender(address, nil, nil, filterer)
  117. if err != nil {
  118. return nil, err
  119. }
  120. return &ContractExtenderFilterer{contract: contract}, nil
  121. }
  122. // bindContractExtender binds a generic wrapper to an already deployed contract.
  123. func bindContractExtender(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  124. parsed, err := abi.JSON(strings.NewReader(ContractExtenderABI))
  125. if err != nil {
  126. return nil, err
  127. }
  128. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  129. }
  130. // Call invokes the (constant) contract method with params as input values and
  131. // sets the output to result. The result type might be a single field for simple
  132. // returns, a slice of interfaces for anonymous returns and a struct for named
  133. // returns.
  134. func (_ContractExtender *ContractExtenderRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  135. return _ContractExtender.Contract.ContractExtenderCaller.contract.Call(opts, result, method, params...)
  136. }
  137. // Transfer initiates a plain transaction to move funds to the contract, calling
  138. // its default method if one is available.
  139. func (_ContractExtender *ContractExtenderRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  140. return _ContractExtender.Contract.ContractExtenderTransactor.contract.Transfer(opts)
  141. }
  142. // Transact invokes the (paid) contract method with params as input values.
  143. func (_ContractExtender *ContractExtenderRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  144. return _ContractExtender.Contract.ContractExtenderTransactor.contract.Transact(opts, method, params...)
  145. }
  146. // Call invokes the (constant) contract method with params as input values and
  147. // sets the output to result. The result type might be a single field for simple
  148. // returns, a slice of interfaces for anonymous returns and a struct for named
  149. // returns.
  150. func (_ContractExtender *ContractExtenderCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  151. return _ContractExtender.Contract.contract.Call(opts, result, method, params...)
  152. }
  153. // Transfer initiates a plain transaction to move funds to the contract, calling
  154. // its default method if one is available.
  155. func (_ContractExtender *ContractExtenderTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  156. return _ContractExtender.Contract.contract.Transfer(opts)
  157. }
  158. // Transact invokes the (paid) contract method with params as input values.
  159. func (_ContractExtender *ContractExtenderTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  160. return _ContractExtender.Contract.contract.Transact(opts, method, params...)
  161. }
  162. // CheckIfExtensionFinished is a free data retrieval call binding the contract method 0x1962cb9b.
  163. //
  164. // Solidity: function checkIfExtensionFinished() view returns(bool)
  165. func (_ContractExtender *ContractExtenderCaller) CheckIfExtensionFinished(opts *bind.CallOpts) (bool, error) {
  166. var out []interface{}
  167. err := _ContractExtender.contract.Call(opts, &out, "checkIfExtensionFinished")
  168. if err != nil {
  169. return *new(bool), err
  170. }
  171. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  172. return out0, err
  173. }
  174. // CheckIfExtensionFinished is a free data retrieval call binding the contract method 0x1962cb9b.
  175. //
  176. // Solidity: function checkIfExtensionFinished() view returns(bool)
  177. func (_ContractExtender *ContractExtenderSession) CheckIfExtensionFinished() (bool, error) {
  178. return _ContractExtender.Contract.CheckIfExtensionFinished(&_ContractExtender.CallOpts)
  179. }
  180. // CheckIfExtensionFinished is a free data retrieval call binding the contract method 0x1962cb9b.
  181. //
  182. // Solidity: function checkIfExtensionFinished() view returns(bool)
  183. func (_ContractExtender *ContractExtenderCallerSession) CheckIfExtensionFinished() (bool, error) {
  184. return _ContractExtender.Contract.CheckIfExtensionFinished(&_ContractExtender.CallOpts)
  185. }
  186. // CheckIfVoted is a free data retrieval call binding the contract method 0xcb2805ec.
  187. //
  188. // Solidity: function checkIfVoted() view returns(bool)
  189. func (_ContractExtender *ContractExtenderCaller) CheckIfVoted(opts *bind.CallOpts) (bool, error) {
  190. var out []interface{}
  191. err := _ContractExtender.contract.Call(opts, &out, "checkIfVoted")
  192. if err != nil {
  193. return *new(bool), err
  194. }
  195. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  196. return out0, err
  197. }
  198. // CheckIfVoted is a free data retrieval call binding the contract method 0xcb2805ec.
  199. //
  200. // Solidity: function checkIfVoted() view returns(bool)
  201. func (_ContractExtender *ContractExtenderSession) CheckIfVoted() (bool, error) {
  202. return _ContractExtender.Contract.CheckIfVoted(&_ContractExtender.CallOpts)
  203. }
  204. // CheckIfVoted is a free data retrieval call binding the contract method 0xcb2805ec.
  205. //
  206. // Solidity: function checkIfVoted() view returns(bool)
  207. func (_ContractExtender *ContractExtenderCallerSession) CheckIfVoted() (bool, error) {
  208. return _ContractExtender.Contract.CheckIfVoted(&_ContractExtender.CallOpts)
  209. }
  210. // ContractToExtend is a free data retrieval call binding the contract method 0x15e56a6a.
  211. //
  212. // Solidity: function contractToExtend() view returns(address)
  213. func (_ContractExtender *ContractExtenderCaller) ContractToExtend(opts *bind.CallOpts) (common.Address, error) {
  214. var out []interface{}
  215. err := _ContractExtender.contract.Call(opts, &out, "contractToExtend")
  216. if err != nil {
  217. return *new(common.Address), err
  218. }
  219. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  220. return out0, err
  221. }
  222. // ContractToExtend is a free data retrieval call binding the contract method 0x15e56a6a.
  223. //
  224. // Solidity: function contractToExtend() view returns(address)
  225. func (_ContractExtender *ContractExtenderSession) ContractToExtend() (common.Address, error) {
  226. return _ContractExtender.Contract.ContractToExtend(&_ContractExtender.CallOpts)
  227. }
  228. // ContractToExtend is a free data retrieval call binding the contract method 0x15e56a6a.
  229. //
  230. // Solidity: function contractToExtend() view returns(address)
  231. func (_ContractExtender *ContractExtenderCallerSession) ContractToExtend() (common.Address, error) {
  232. return _ContractExtender.Contract.ContractToExtend(&_ContractExtender.CallOpts)
  233. }
  234. // Creator is a free data retrieval call binding the contract method 0x02d05d3f.
  235. //
  236. // Solidity: function creator() view returns(address)
  237. func (_ContractExtender *ContractExtenderCaller) Creator(opts *bind.CallOpts) (common.Address, error) {
  238. var out []interface{}
  239. err := _ContractExtender.contract.Call(opts, &out, "creator")
  240. if err != nil {
  241. return *new(common.Address), err
  242. }
  243. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  244. return out0, err
  245. }
  246. // Creator is a free data retrieval call binding the contract method 0x02d05d3f.
  247. //
  248. // Solidity: function creator() view returns(address)
  249. func (_ContractExtender *ContractExtenderSession) Creator() (common.Address, error) {
  250. return _ContractExtender.Contract.Creator(&_ContractExtender.CallOpts)
  251. }
  252. // Creator is a free data retrieval call binding the contract method 0x02d05d3f.
  253. //
  254. // Solidity: function creator() view returns(address)
  255. func (_ContractExtender *ContractExtenderCallerSession) Creator() (common.Address, error) {
  256. return _ContractExtender.Contract.Creator(&_ContractExtender.CallOpts)
  257. }
  258. // HaveAllNodesVoted is a free data retrieval call binding the contract method 0xf57077d8.
  259. //
  260. // Solidity: function haveAllNodesVoted() view returns(bool)
  261. func (_ContractExtender *ContractExtenderCaller) HaveAllNodesVoted(opts *bind.CallOpts) (bool, error) {
  262. var out []interface{}
  263. err := _ContractExtender.contract.Call(opts, &out, "haveAllNodesVoted")
  264. if err != nil {
  265. return *new(bool), err
  266. }
  267. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  268. return out0, err
  269. }
  270. // HaveAllNodesVoted is a free data retrieval call binding the contract method 0xf57077d8.
  271. //
  272. // Solidity: function haveAllNodesVoted() view returns(bool)
  273. func (_ContractExtender *ContractExtenderSession) HaveAllNodesVoted() (bool, error) {
  274. return _ContractExtender.Contract.HaveAllNodesVoted(&_ContractExtender.CallOpts)
  275. }
  276. // HaveAllNodesVoted is a free data retrieval call binding the contract method 0xf57077d8.
  277. //
  278. // Solidity: function haveAllNodesVoted() view returns(bool)
  279. func (_ContractExtender *ContractExtenderCallerSession) HaveAllNodesVoted() (bool, error) {
  280. return _ContractExtender.Contract.HaveAllNodesVoted(&_ContractExtender.CallOpts)
  281. }
  282. // IsFinished is a free data retrieval call binding the contract method 0x7b352962.
  283. //
  284. // Solidity: function isFinished() view returns(bool)
  285. func (_ContractExtender *ContractExtenderCaller) IsFinished(opts *bind.CallOpts) (bool, error) {
  286. var out []interface{}
  287. err := _ContractExtender.contract.Call(opts, &out, "isFinished")
  288. if err != nil {
  289. return *new(bool), err
  290. }
  291. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  292. return out0, err
  293. }
  294. // IsFinished is a free data retrieval call binding the contract method 0x7b352962.
  295. //
  296. // Solidity: function isFinished() view returns(bool)
  297. func (_ContractExtender *ContractExtenderSession) IsFinished() (bool, error) {
  298. return _ContractExtender.Contract.IsFinished(&_ContractExtender.CallOpts)
  299. }
  300. // IsFinished is a free data retrieval call binding the contract method 0x7b352962.
  301. //
  302. // Solidity: function isFinished() view returns(bool)
  303. func (_ContractExtender *ContractExtenderCallerSession) IsFinished() (bool, error) {
  304. return _ContractExtender.Contract.IsFinished(&_ContractExtender.CallOpts)
  305. }
  306. // SharedDataHash is a free data retrieval call binding the contract method 0x88f520a0.
  307. //
  308. // Solidity: function sharedDataHash() view returns(string)
  309. func (_ContractExtender *ContractExtenderCaller) SharedDataHash(opts *bind.CallOpts) (string, error) {
  310. var out []interface{}
  311. err := _ContractExtender.contract.Call(opts, &out, "sharedDataHash")
  312. if err != nil {
  313. return *new(string), err
  314. }
  315. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  316. return out0, err
  317. }
  318. // SharedDataHash is a free data retrieval call binding the contract method 0x88f520a0.
  319. //
  320. // Solidity: function sharedDataHash() view returns(string)
  321. func (_ContractExtender *ContractExtenderSession) SharedDataHash() (string, error) {
  322. return _ContractExtender.Contract.SharedDataHash(&_ContractExtender.CallOpts)
  323. }
  324. // SharedDataHash is a free data retrieval call binding the contract method 0x88f520a0.
  325. //
  326. // Solidity: function sharedDataHash() view returns(string)
  327. func (_ContractExtender *ContractExtenderCallerSession) SharedDataHash() (string, error) {
  328. return _ContractExtender.Contract.SharedDataHash(&_ContractExtender.CallOpts)
  329. }
  330. // TargetRecipientPTMKey is a free data retrieval call binding the contract method 0xe5af0f30.
  331. //
  332. // Solidity: function targetRecipientPTMKey() view returns(string)
  333. func (_ContractExtender *ContractExtenderCaller) TargetRecipientPTMKey(opts *bind.CallOpts) (string, error) {
  334. var out []interface{}
  335. err := _ContractExtender.contract.Call(opts, &out, "targetRecipientPTMKey")
  336. if err != nil {
  337. return *new(string), err
  338. }
  339. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  340. return out0, err
  341. }
  342. // TargetRecipientPTMKey is a free data retrieval call binding the contract method 0xe5af0f30.
  343. //
  344. // Solidity: function targetRecipientPTMKey() view returns(string)
  345. func (_ContractExtender *ContractExtenderSession) TargetRecipientPTMKey() (string, error) {
  346. return _ContractExtender.Contract.TargetRecipientPTMKey(&_ContractExtender.CallOpts)
  347. }
  348. // TargetRecipientPTMKey is a free data retrieval call binding the contract method 0xe5af0f30.
  349. //
  350. // Solidity: function targetRecipientPTMKey() view returns(string)
  351. func (_ContractExtender *ContractExtenderCallerSession) TargetRecipientPTMKey() (string, error) {
  352. return _ContractExtender.Contract.TargetRecipientPTMKey(&_ContractExtender.CallOpts)
  353. }
  354. // TotalNumberOfVoters is a free data retrieval call binding the contract method 0x38527727.
  355. //
  356. // Solidity: function totalNumberOfVoters() view returns(uint256)
  357. func (_ContractExtender *ContractExtenderCaller) TotalNumberOfVoters(opts *bind.CallOpts) (*big.Int, error) {
  358. var out []interface{}
  359. err := _ContractExtender.contract.Call(opts, &out, "totalNumberOfVoters")
  360. if err != nil {
  361. return *new(*big.Int), err
  362. }
  363. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  364. return out0, err
  365. }
  366. // TotalNumberOfVoters is a free data retrieval call binding the contract method 0x38527727.
  367. //
  368. // Solidity: function totalNumberOfVoters() view returns(uint256)
  369. func (_ContractExtender *ContractExtenderSession) TotalNumberOfVoters() (*big.Int, error) {
  370. return _ContractExtender.Contract.TotalNumberOfVoters(&_ContractExtender.CallOpts)
  371. }
  372. // TotalNumberOfVoters is a free data retrieval call binding the contract method 0x38527727.
  373. //
  374. // Solidity: function totalNumberOfVoters() view returns(uint256)
  375. func (_ContractExtender *ContractExtenderCallerSession) TotalNumberOfVoters() (*big.Int, error) {
  376. return _ContractExtender.Contract.TotalNumberOfVoters(&_ContractExtender.CallOpts)
  377. }
  378. // VoteOutcome is a free data retrieval call binding the contract method 0xb5da45bb.
  379. //
  380. // Solidity: function voteOutcome() view returns(bool)
  381. func (_ContractExtender *ContractExtenderCaller) VoteOutcome(opts *bind.CallOpts) (bool, error) {
  382. var out []interface{}
  383. err := _ContractExtender.contract.Call(opts, &out, "voteOutcome")
  384. if err != nil {
  385. return *new(bool), err
  386. }
  387. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  388. return out0, err
  389. }
  390. // VoteOutcome is a free data retrieval call binding the contract method 0xb5da45bb.
  391. //
  392. // Solidity: function voteOutcome() view returns(bool)
  393. func (_ContractExtender *ContractExtenderSession) VoteOutcome() (bool, error) {
  394. return _ContractExtender.Contract.VoteOutcome(&_ContractExtender.CallOpts)
  395. }
  396. // VoteOutcome is a free data retrieval call binding the contract method 0xb5da45bb.
  397. //
  398. // Solidity: function voteOutcome() view returns(bool)
  399. func (_ContractExtender *ContractExtenderCallerSession) VoteOutcome() (bool, error) {
  400. return _ContractExtender.Contract.VoteOutcome(&_ContractExtender.CallOpts)
  401. }
  402. // Votes is a free data retrieval call binding the contract method 0xd8bff5a5.
  403. //
  404. // Solidity: function votes(address ) view returns(bool)
  405. func (_ContractExtender *ContractExtenderCaller) Votes(opts *bind.CallOpts, arg0 common.Address) (bool, error) {
  406. var out []interface{}
  407. err := _ContractExtender.contract.Call(opts, &out, "votes", arg0)
  408. if err != nil {
  409. return *new(bool), err
  410. }
  411. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  412. return out0, err
  413. }
  414. // Votes is a free data retrieval call binding the contract method 0xd8bff5a5.
  415. //
  416. // Solidity: function votes(address ) view returns(bool)
  417. func (_ContractExtender *ContractExtenderSession) Votes(arg0 common.Address) (bool, error) {
  418. return _ContractExtender.Contract.Votes(&_ContractExtender.CallOpts, arg0)
  419. }
  420. // Votes is a free data retrieval call binding the contract method 0xd8bff5a5.
  421. //
  422. // Solidity: function votes(address ) view returns(bool)
  423. func (_ContractExtender *ContractExtenderCallerSession) Votes(arg0 common.Address) (bool, error) {
  424. return _ContractExtender.Contract.Votes(&_ContractExtender.CallOpts, arg0)
  425. }
  426. // WalletAddressesToVote is a free data retrieval call binding the contract method 0x79d41b8f.
  427. //
  428. // Solidity: function walletAddressesToVote(uint256 ) view returns(address)
  429. func (_ContractExtender *ContractExtenderCaller) WalletAddressesToVote(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
  430. var out []interface{}
  431. err := _ContractExtender.contract.Call(opts, &out, "walletAddressesToVote", arg0)
  432. if err != nil {
  433. return *new(common.Address), err
  434. }
  435. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  436. return out0, err
  437. }
  438. // WalletAddressesToVote is a free data retrieval call binding the contract method 0x79d41b8f.
  439. //
  440. // Solidity: function walletAddressesToVote(uint256 ) view returns(address)
  441. func (_ContractExtender *ContractExtenderSession) WalletAddressesToVote(arg0 *big.Int) (common.Address, error) {
  442. return _ContractExtender.Contract.WalletAddressesToVote(&_ContractExtender.CallOpts, arg0)
  443. }
  444. // WalletAddressesToVote is a free data retrieval call binding the contract method 0x79d41b8f.
  445. //
  446. // Solidity: function walletAddressesToVote(uint256 ) view returns(address)
  447. func (_ContractExtender *ContractExtenderCallerSession) WalletAddressesToVote(arg0 *big.Int) (common.Address, error) {
  448. return _ContractExtender.Contract.WalletAddressesToVote(&_ContractExtender.CallOpts, arg0)
  449. }
  450. // DoVote is a paid mutator transaction binding the contract method 0xde5828cb.
  451. //
  452. // Solidity: function doVote(bool vote, string nextuuid) returns()
  453. func (_ContractExtender *ContractExtenderTransactor) DoVote(opts *bind.TransactOpts, vote bool, nextuuid string) (*types.Transaction, error) {
  454. return _ContractExtender.contract.Transact(opts, "doVote", vote, nextuuid)
  455. }
  456. // DoVote is a paid mutator transaction binding the contract method 0xde5828cb.
  457. //
  458. // Solidity: function doVote(bool vote, string nextuuid) returns()
  459. func (_ContractExtender *ContractExtenderSession) DoVote(vote bool, nextuuid string) (*types.Transaction, error) {
  460. return _ContractExtender.Contract.DoVote(&_ContractExtender.TransactOpts, vote, nextuuid)
  461. }
  462. // DoVote is a paid mutator transaction binding the contract method 0xde5828cb.
  463. //
  464. // Solidity: function doVote(bool vote, string nextuuid) returns()
  465. func (_ContractExtender *ContractExtenderTransactorSession) DoVote(vote bool, nextuuid string) (*types.Transaction, error) {
  466. return _ContractExtender.Contract.DoVote(&_ContractExtender.TransactOpts, vote, nextuuid)
  467. }
  468. // Finish is a paid mutator transaction binding the contract method 0xd56b2889.
  469. //
  470. // Solidity: function finish() returns()
  471. func (_ContractExtender *ContractExtenderTransactor) Finish(opts *bind.TransactOpts) (*types.Transaction, error) {
  472. return _ContractExtender.contract.Transact(opts, "finish")
  473. }
  474. // Finish is a paid mutator transaction binding the contract method 0xd56b2889.
  475. //
  476. // Solidity: function finish() returns()
  477. func (_ContractExtender *ContractExtenderSession) Finish() (*types.Transaction, error) {
  478. return _ContractExtender.Contract.Finish(&_ContractExtender.TransactOpts)
  479. }
  480. // Finish is a paid mutator transaction binding the contract method 0xd56b2889.
  481. //
  482. // Solidity: function finish() returns()
  483. func (_ContractExtender *ContractExtenderTransactorSession) Finish() (*types.Transaction, error) {
  484. return _ContractExtender.Contract.Finish(&_ContractExtender.TransactOpts)
  485. }
  486. // SetSharedStateHash is a paid mutator transaction binding the contract method 0x893971ba.
  487. //
  488. // Solidity: function setSharedStateHash(string hash) returns()
  489. func (_ContractExtender *ContractExtenderTransactor) SetSharedStateHash(opts *bind.TransactOpts, hash string) (*types.Transaction, error) {
  490. return _ContractExtender.contract.Transact(opts, "setSharedStateHash", hash)
  491. }
  492. // SetSharedStateHash is a paid mutator transaction binding the contract method 0x893971ba.
  493. //
  494. // Solidity: function setSharedStateHash(string hash) returns()
  495. func (_ContractExtender *ContractExtenderSession) SetSharedStateHash(hash string) (*types.Transaction, error) {
  496. return _ContractExtender.Contract.SetSharedStateHash(&_ContractExtender.TransactOpts, hash)
  497. }
  498. // SetSharedStateHash is a paid mutator transaction binding the contract method 0x893971ba.
  499. //
  500. // Solidity: function setSharedStateHash(string hash) returns()
  501. func (_ContractExtender *ContractExtenderTransactorSession) SetSharedStateHash(hash string) (*types.Transaction, error) {
  502. return _ContractExtender.Contract.SetSharedStateHash(&_ContractExtender.TransactOpts, hash)
  503. }
  504. // SetUuid is a paid mutator transaction binding the contract method 0x821e93da.
  505. //
  506. // Solidity: function setUuid(string nextuuid) returns()
  507. func (_ContractExtender *ContractExtenderTransactor) SetUuid(opts *bind.TransactOpts, nextuuid string) (*types.Transaction, error) {
  508. return _ContractExtender.contract.Transact(opts, "setUuid", nextuuid)
  509. }
  510. // SetUuid is a paid mutator transaction binding the contract method 0x821e93da.
  511. //
  512. // Solidity: function setUuid(string nextuuid) returns()
  513. func (_ContractExtender *ContractExtenderSession) SetUuid(nextuuid string) (*types.Transaction, error) {
  514. return _ContractExtender.Contract.SetUuid(&_ContractExtender.TransactOpts, nextuuid)
  515. }
  516. // SetUuid is a paid mutator transaction binding the contract method 0x821e93da.
  517. //
  518. // Solidity: function setUuid(string nextuuid) returns()
  519. func (_ContractExtender *ContractExtenderTransactorSession) SetUuid(nextuuid string) (*types.Transaction, error) {
  520. return _ContractExtender.Contract.SetUuid(&_ContractExtender.TransactOpts, nextuuid)
  521. }
  522. // UpdatePartyMembers is a paid mutator transaction binding the contract method 0xac8b9205.
  523. //
  524. // Solidity: function updatePartyMembers() returns()
  525. func (_ContractExtender *ContractExtenderTransactor) UpdatePartyMembers(opts *bind.TransactOpts) (*types.Transaction, error) {
  526. return _ContractExtender.contract.Transact(opts, "updatePartyMembers")
  527. }
  528. // UpdatePartyMembers is a paid mutator transaction binding the contract method 0xac8b9205.
  529. //
  530. // Solidity: function updatePartyMembers() returns()
  531. func (_ContractExtender *ContractExtenderSession) UpdatePartyMembers() (*types.Transaction, error) {
  532. return _ContractExtender.Contract.UpdatePartyMembers(&_ContractExtender.TransactOpts)
  533. }
  534. // UpdatePartyMembers is a paid mutator transaction binding the contract method 0xac8b9205.
  535. //
  536. // Solidity: function updatePartyMembers() returns()
  537. func (_ContractExtender *ContractExtenderTransactorSession) UpdatePartyMembers() (*types.Transaction, error) {
  538. return _ContractExtender.Contract.UpdatePartyMembers(&_ContractExtender.TransactOpts)
  539. }
  540. // ContractExtenderAllNodesHaveAcceptedIterator is returned from FilterAllNodesHaveAccepted and is used to iterate over the raw logs and unpacked data for AllNodesHaveAccepted events raised by the ContractExtender contract.
  541. type ContractExtenderAllNodesHaveAcceptedIterator struct {
  542. Event *ContractExtenderAllNodesHaveAccepted // Event containing the contract specifics and raw log
  543. contract *bind.BoundContract // Generic contract to use for unpacking event data
  544. event string // Event name to use for unpacking event data
  545. logs chan types.Log // Log channel receiving the found contract events
  546. sub ethereum.Subscription // Subscription for errors, completion and termination
  547. done bool // Whether the subscription completed delivering logs
  548. fail error // Occurred error to stop iteration
  549. }
  550. // Next advances the iterator to the subsequent event, returning whether there
  551. // are any more events found. In case of a retrieval or parsing error, false is
  552. // returned and Error() can be queried for the exact failure.
  553. func (it *ContractExtenderAllNodesHaveAcceptedIterator) Next() bool {
  554. // If the iterator failed, stop iterating
  555. if it.fail != nil {
  556. return false
  557. }
  558. // If the iterator completed, deliver directly whatever's available
  559. if it.done {
  560. select {
  561. case log := <-it.logs:
  562. it.Event = new(ContractExtenderAllNodesHaveAccepted)
  563. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  564. it.fail = err
  565. return false
  566. }
  567. it.Event.Raw = log
  568. return true
  569. default:
  570. return false
  571. }
  572. }
  573. // Iterator still in progress, wait for either a data or an error event
  574. select {
  575. case log := <-it.logs:
  576. it.Event = new(ContractExtenderAllNodesHaveAccepted)
  577. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  578. it.fail = err
  579. return false
  580. }
  581. it.Event.Raw = log
  582. return true
  583. case err := <-it.sub.Err():
  584. it.done = true
  585. it.fail = err
  586. return it.Next()
  587. }
  588. }
  589. // Error returns any retrieval or parsing error occurred during filtering.
  590. func (it *ContractExtenderAllNodesHaveAcceptedIterator) Error() error {
  591. return it.fail
  592. }
  593. // Close terminates the iteration process, releasing any pending underlying
  594. // resources.
  595. func (it *ContractExtenderAllNodesHaveAcceptedIterator) Close() error {
  596. it.sub.Unsubscribe()
  597. return nil
  598. }
  599. // ContractExtenderAllNodesHaveAccepted represents a AllNodesHaveAccepted event raised by the ContractExtender contract.
  600. type ContractExtenderAllNodesHaveAccepted struct {
  601. Outcome bool
  602. Raw types.Log // Blockchain specific contextual infos
  603. }
  604. // FilterAllNodesHaveAccepted is a free log retrieval operation binding the contract event 0xf20540914db019dd7c8d05ed165316a58d1583642772ac46f3d0c29b8644bd36.
  605. //
  606. // Solidity: event AllNodesHaveAccepted(bool outcome)
  607. func (_ContractExtender *ContractExtenderFilterer) FilterAllNodesHaveAccepted(opts *bind.FilterOpts) (*ContractExtenderAllNodesHaveAcceptedIterator, error) {
  608. logs, sub, err := _ContractExtender.contract.FilterLogs(opts, "AllNodesHaveAccepted")
  609. if err != nil {
  610. return nil, err
  611. }
  612. return &ContractExtenderAllNodesHaveAcceptedIterator{contract: _ContractExtender.contract, event: "AllNodesHaveAccepted", logs: logs, sub: sub}, nil
  613. }
  614. var AllNodesHaveAcceptedTopicHash = "0xf20540914db019dd7c8d05ed165316a58d1583642772ac46f3d0c29b8644bd36"
  615. // WatchAllNodesHaveAccepted is a free log subscription operation binding the contract event 0xf20540914db019dd7c8d05ed165316a58d1583642772ac46f3d0c29b8644bd36.
  616. //
  617. // Solidity: event AllNodesHaveAccepted(bool outcome)
  618. func (_ContractExtender *ContractExtenderFilterer) WatchAllNodesHaveAccepted(opts *bind.WatchOpts, sink chan<- *ContractExtenderAllNodesHaveAccepted) (event.Subscription, error) {
  619. logs, sub, err := _ContractExtender.contract.WatchLogs(opts, "AllNodesHaveAccepted")
  620. if err != nil {
  621. return nil, err
  622. }
  623. return event.NewSubscription(func(quit <-chan struct{}) error {
  624. defer sub.Unsubscribe()
  625. for {
  626. select {
  627. case log := <-logs:
  628. // New log arrived, parse the event and forward to the user
  629. event := new(ContractExtenderAllNodesHaveAccepted)
  630. if err := _ContractExtender.contract.UnpackLog(event, "AllNodesHaveAccepted", log); err != nil {
  631. return err
  632. }
  633. event.Raw = log
  634. select {
  635. case sink <- event:
  636. case err := <-sub.Err():
  637. return err
  638. case <-quit:
  639. return nil
  640. }
  641. case err := <-sub.Err():
  642. return err
  643. case <-quit:
  644. return nil
  645. }
  646. }
  647. }), nil
  648. }
  649. // ParseAllNodesHaveAccepted is a log parse operation binding the contract event 0xf20540914db019dd7c8d05ed165316a58d1583642772ac46f3d0c29b8644bd36.
  650. //
  651. // Solidity: event AllNodesHaveAccepted(bool outcome)
  652. func (_ContractExtender *ContractExtenderFilterer) ParseAllNodesHaveAccepted(log types.Log) (*ContractExtenderAllNodesHaveAccepted, error) {
  653. event := new(ContractExtenderAllNodesHaveAccepted)
  654. if err := _ContractExtender.contract.UnpackLog(event, "AllNodesHaveAccepted", log); err != nil {
  655. return nil, err
  656. }
  657. return event, nil
  658. }
  659. // ContractExtenderCanPerformStateShareIterator is returned from FilterCanPerformStateShare and is used to iterate over the raw logs and unpacked data for CanPerformStateShare events raised by the ContractExtender contract.
  660. type ContractExtenderCanPerformStateShareIterator struct {
  661. Event *ContractExtenderCanPerformStateShare // Event containing the contract specifics and raw log
  662. contract *bind.BoundContract // Generic contract to use for unpacking event data
  663. event string // Event name to use for unpacking event data
  664. logs chan types.Log // Log channel receiving the found contract events
  665. sub ethereum.Subscription // Subscription for errors, completion and termination
  666. done bool // Whether the subscription completed delivering logs
  667. fail error // Occurred error to stop iteration
  668. }
  669. // Next advances the iterator to the subsequent event, returning whether there
  670. // are any more events found. In case of a retrieval or parsing error, false is
  671. // returned and Error() can be queried for the exact failure.
  672. func (it *ContractExtenderCanPerformStateShareIterator) Next() bool {
  673. // If the iterator failed, stop iterating
  674. if it.fail != nil {
  675. return false
  676. }
  677. // If the iterator completed, deliver directly whatever's available
  678. if it.done {
  679. select {
  680. case log := <-it.logs:
  681. it.Event = new(ContractExtenderCanPerformStateShare)
  682. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  683. it.fail = err
  684. return false
  685. }
  686. it.Event.Raw = log
  687. return true
  688. default:
  689. return false
  690. }
  691. }
  692. // Iterator still in progress, wait for either a data or an error event
  693. select {
  694. case log := <-it.logs:
  695. it.Event = new(ContractExtenderCanPerformStateShare)
  696. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  697. it.fail = err
  698. return false
  699. }
  700. it.Event.Raw = log
  701. return true
  702. case err := <-it.sub.Err():
  703. it.done = true
  704. it.fail = err
  705. return it.Next()
  706. }
  707. }
  708. // Error returns any retrieval or parsing error occurred during filtering.
  709. func (it *ContractExtenderCanPerformStateShareIterator) Error() error {
  710. return it.fail
  711. }
  712. // Close terminates the iteration process, releasing any pending underlying
  713. // resources.
  714. func (it *ContractExtenderCanPerformStateShareIterator) Close() error {
  715. it.sub.Unsubscribe()
  716. return nil
  717. }
  718. // ContractExtenderCanPerformStateShare represents a CanPerformStateShare event raised by the ContractExtender contract.
  719. type ContractExtenderCanPerformStateShare struct {
  720. Raw types.Log // Blockchain specific contextual infos
  721. }
  722. // FilterCanPerformStateShare is a free log retrieval operation binding the contract event 0xfd46cafaa71d87561071b8095703a7f081265fad232945049f5cf2d2c39b3d28.
  723. //
  724. // Solidity: event CanPerformStateShare()
  725. func (_ContractExtender *ContractExtenderFilterer) FilterCanPerformStateShare(opts *bind.FilterOpts) (*ContractExtenderCanPerformStateShareIterator, error) {
  726. logs, sub, err := _ContractExtender.contract.FilterLogs(opts, "CanPerformStateShare")
  727. if err != nil {
  728. return nil, err
  729. }
  730. return &ContractExtenderCanPerformStateShareIterator{contract: _ContractExtender.contract, event: "CanPerformStateShare", logs: logs, sub: sub}, nil
  731. }
  732. var CanPerformStateShareTopicHash = "0xfd46cafaa71d87561071b8095703a7f081265fad232945049f5cf2d2c39b3d28"
  733. // WatchCanPerformStateShare is a free log subscription operation binding the contract event 0xfd46cafaa71d87561071b8095703a7f081265fad232945049f5cf2d2c39b3d28.
  734. //
  735. // Solidity: event CanPerformStateShare()
  736. func (_ContractExtender *ContractExtenderFilterer) WatchCanPerformStateShare(opts *bind.WatchOpts, sink chan<- *ContractExtenderCanPerformStateShare) (event.Subscription, error) {
  737. logs, sub, err := _ContractExtender.contract.WatchLogs(opts, "CanPerformStateShare")
  738. if err != nil {
  739. return nil, err
  740. }
  741. return event.NewSubscription(func(quit <-chan struct{}) error {
  742. defer sub.Unsubscribe()
  743. for {
  744. select {
  745. case log := <-logs:
  746. // New log arrived, parse the event and forward to the user
  747. event := new(ContractExtenderCanPerformStateShare)
  748. if err := _ContractExtender.contract.UnpackLog(event, "CanPerformStateShare", log); err != nil {
  749. return err
  750. }
  751. event.Raw = log
  752. select {
  753. case sink <- event:
  754. case err := <-sub.Err():
  755. return err
  756. case <-quit:
  757. return nil
  758. }
  759. case err := <-sub.Err():
  760. return err
  761. case <-quit:
  762. return nil
  763. }
  764. }
  765. }), nil
  766. }
  767. // ParseCanPerformStateShare is a log parse operation binding the contract event 0xfd46cafaa71d87561071b8095703a7f081265fad232945049f5cf2d2c39b3d28.
  768. //
  769. // Solidity: event CanPerformStateShare()
  770. func (_ContractExtender *ContractExtenderFilterer) ParseCanPerformStateShare(log types.Log) (*ContractExtenderCanPerformStateShare, error) {
  771. event := new(ContractExtenderCanPerformStateShare)
  772. if err := _ContractExtender.contract.UnpackLog(event, "CanPerformStateShare", log); err != nil {
  773. return nil, err
  774. }
  775. return event, nil
  776. }
  777. // ContractExtenderExtensionFinishedIterator is returned from FilterExtensionFinished and is used to iterate over the raw logs and unpacked data for ExtensionFinished events raised by the ContractExtender contract.
  778. type ContractExtenderExtensionFinishedIterator struct {
  779. Event *ContractExtenderExtensionFinished // Event containing the contract specifics and raw log
  780. contract *bind.BoundContract // Generic contract to use for unpacking event data
  781. event string // Event name to use for unpacking event data
  782. logs chan types.Log // Log channel receiving the found contract events
  783. sub ethereum.Subscription // Subscription for errors, completion and termination
  784. done bool // Whether the subscription completed delivering logs
  785. fail error // Occurred error to stop iteration
  786. }
  787. // Next advances the iterator to the subsequent event, returning whether there
  788. // are any more events found. In case of a retrieval or parsing error, false is
  789. // returned and Error() can be queried for the exact failure.
  790. func (it *ContractExtenderExtensionFinishedIterator) Next() bool {
  791. // If the iterator failed, stop iterating
  792. if it.fail != nil {
  793. return false
  794. }
  795. // If the iterator completed, deliver directly whatever's available
  796. if it.done {
  797. select {
  798. case log := <-it.logs:
  799. it.Event = new(ContractExtenderExtensionFinished)
  800. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  801. it.fail = err
  802. return false
  803. }
  804. it.Event.Raw = log
  805. return true
  806. default:
  807. return false
  808. }
  809. }
  810. // Iterator still in progress, wait for either a data or an error event
  811. select {
  812. case log := <-it.logs:
  813. it.Event = new(ContractExtenderExtensionFinished)
  814. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  815. it.fail = err
  816. return false
  817. }
  818. it.Event.Raw = log
  819. return true
  820. case err := <-it.sub.Err():
  821. it.done = true
  822. it.fail = err
  823. return it.Next()
  824. }
  825. }
  826. // Error returns any retrieval or parsing error occurred during filtering.
  827. func (it *ContractExtenderExtensionFinishedIterator) Error() error {
  828. return it.fail
  829. }
  830. // Close terminates the iteration process, releasing any pending underlying
  831. // resources.
  832. func (it *ContractExtenderExtensionFinishedIterator) Close() error {
  833. it.sub.Unsubscribe()
  834. return nil
  835. }
  836. // ContractExtenderExtensionFinished represents a ExtensionFinished event raised by the ContractExtender contract.
  837. type ContractExtenderExtensionFinished struct {
  838. Raw types.Log // Blockchain specific contextual infos
  839. }
  840. // FilterExtensionFinished is a free log retrieval operation binding the contract event 0x79c47b570b18a8a814b785800e5fcbf104e067663589cef1bba07756e3c6ede9.
  841. //
  842. // Solidity: event ExtensionFinished()
  843. func (_ContractExtender *ContractExtenderFilterer) FilterExtensionFinished(opts *bind.FilterOpts) (*ContractExtenderExtensionFinishedIterator, error) {
  844. logs, sub, err := _ContractExtender.contract.FilterLogs(opts, "ExtensionFinished")
  845. if err != nil {
  846. return nil, err
  847. }
  848. return &ContractExtenderExtensionFinishedIterator{contract: _ContractExtender.contract, event: "ExtensionFinished", logs: logs, sub: sub}, nil
  849. }
  850. var ExtensionFinishedTopicHash = "0x79c47b570b18a8a814b785800e5fcbf104e067663589cef1bba07756e3c6ede9"
  851. // WatchExtensionFinished is a free log subscription operation binding the contract event 0x79c47b570b18a8a814b785800e5fcbf104e067663589cef1bba07756e3c6ede9.
  852. //
  853. // Solidity: event ExtensionFinished()
  854. func (_ContractExtender *ContractExtenderFilterer) WatchExtensionFinished(opts *bind.WatchOpts, sink chan<- *ContractExtenderExtensionFinished) (event.Subscription, error) {
  855. logs, sub, err := _ContractExtender.contract.WatchLogs(opts, "ExtensionFinished")
  856. if err != nil {
  857. return nil, err
  858. }
  859. return event.NewSubscription(func(quit <-chan struct{}) error {
  860. defer sub.Unsubscribe()
  861. for {
  862. select {
  863. case log := <-logs:
  864. // New log arrived, parse the event and forward to the user
  865. event := new(ContractExtenderExtensionFinished)
  866. if err := _ContractExtender.contract.UnpackLog(event, "ExtensionFinished", log); err != nil {
  867. return err
  868. }
  869. event.Raw = log
  870. select {
  871. case sink <- event:
  872. case err := <-sub.Err():
  873. return err
  874. case <-quit:
  875. return nil
  876. }
  877. case err := <-sub.Err():
  878. return err
  879. case <-quit:
  880. return nil
  881. }
  882. }
  883. }), nil
  884. }
  885. // ParseExtensionFinished is a log parse operation binding the contract event 0x79c47b570b18a8a814b785800e5fcbf104e067663589cef1bba07756e3c6ede9.
  886. //
  887. // Solidity: event ExtensionFinished()
  888. func (_ContractExtender *ContractExtenderFilterer) ParseExtensionFinished(log types.Log) (*ContractExtenderExtensionFinished, error) {
  889. event := new(ContractExtenderExtensionFinished)
  890. if err := _ContractExtender.contract.UnpackLog(event, "ExtensionFinished", log); err != nil {
  891. return nil, err
  892. }
  893. return event, nil
  894. }
  895. // ContractExtenderNewContractExtensionContractCreatedIterator is returned from FilterNewContractExtensionContractCreated and is used to iterate over the raw logs and unpacked data for NewContractExtensionContractCreated events raised by the ContractExtender contract.
  896. type ContractExtenderNewContractExtensionContractCreatedIterator struct {
  897. Event *ContractExtenderNewContractExtensionContractCreated // Event containing the contract specifics and raw log
  898. contract *bind.BoundContract // Generic contract to use for unpacking event data
  899. event string // Event name to use for unpacking event data
  900. logs chan types.Log // Log channel receiving the found contract events
  901. sub ethereum.Subscription // Subscription for errors, completion and termination
  902. done bool // Whether the subscription completed delivering logs
  903. fail error // Occurred error to stop iteration
  904. }
  905. // Next advances the iterator to the subsequent event, returning whether there
  906. // are any more events found. In case of a retrieval or parsing error, false is
  907. // returned and Error() can be queried for the exact failure.
  908. func (it *ContractExtenderNewContractExtensionContractCreatedIterator) Next() bool {
  909. // If the iterator failed, stop iterating
  910. if it.fail != nil {
  911. return false
  912. }
  913. // If the iterator completed, deliver directly whatever's available
  914. if it.done {
  915. select {
  916. case log := <-it.logs:
  917. it.Event = new(ContractExtenderNewContractExtensionContractCreated)
  918. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  919. it.fail = err
  920. return false
  921. }
  922. it.Event.Raw = log
  923. return true
  924. default:
  925. return false
  926. }
  927. }
  928. // Iterator still in progress, wait for either a data or an error event
  929. select {
  930. case log := <-it.logs:
  931. it.Event = new(ContractExtenderNewContractExtensionContractCreated)
  932. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  933. it.fail = err
  934. return false
  935. }
  936. it.Event.Raw = log
  937. return true
  938. case err := <-it.sub.Err():
  939. it.done = true
  940. it.fail = err
  941. return it.Next()
  942. }
  943. }
  944. // Error returns any retrieval or parsing error occurred during filtering.
  945. func (it *ContractExtenderNewContractExtensionContractCreatedIterator) Error() error {
  946. return it.fail
  947. }
  948. // Close terminates the iteration process, releasing any pending underlying
  949. // resources.
  950. func (it *ContractExtenderNewContractExtensionContractCreatedIterator) Close() error {
  951. it.sub.Unsubscribe()
  952. return nil
  953. }
  954. // ContractExtenderNewContractExtensionContractCreated represents a NewContractExtensionContractCreated event raised by the ContractExtender contract.
  955. type ContractExtenderNewContractExtensionContractCreated struct {
  956. ToExtend common.Address
  957. RecipientPTMKey string
  958. RecipientAddress common.Address
  959. Raw types.Log // Blockchain specific contextual infos
  960. }
  961. // FilterNewContractExtensionContractCreated is a free log retrieval operation binding the contract event 0x04576ede6057794ada68966eebc285c98a2726cbc4929ffd1ad9900336728d93.
  962. //
  963. // Solidity: event NewContractExtensionContractCreated(address toExtend, string recipientPTMKey, address recipientAddress)
  964. func (_ContractExtender *ContractExtenderFilterer) FilterNewContractExtensionContractCreated(opts *bind.FilterOpts) (*ContractExtenderNewContractExtensionContractCreatedIterator, error) {
  965. logs, sub, err := _ContractExtender.contract.FilterLogs(opts, "NewContractExtensionContractCreated")
  966. if err != nil {
  967. return nil, err
  968. }
  969. return &ContractExtenderNewContractExtensionContractCreatedIterator{contract: _ContractExtender.contract, event: "NewContractExtensionContractCreated", logs: logs, sub: sub}, nil
  970. }
  971. var NewContractExtensionContractCreatedTopicHash = "0x04576ede6057794ada68966eebc285c98a2726cbc4929ffd1ad9900336728d93"
  972. // WatchNewContractExtensionContractCreated is a free log subscription operation binding the contract event 0x04576ede6057794ada68966eebc285c98a2726cbc4929ffd1ad9900336728d93.
  973. //
  974. // Solidity: event NewContractExtensionContractCreated(address toExtend, string recipientPTMKey, address recipientAddress)
  975. func (_ContractExtender *ContractExtenderFilterer) WatchNewContractExtensionContractCreated(opts *bind.WatchOpts, sink chan<- *ContractExtenderNewContractExtensionContractCreated) (event.Subscription, error) {
  976. logs, sub, err := _ContractExtender.contract.WatchLogs(opts, "NewContractExtensionContractCreated")
  977. if err != nil {
  978. return nil, err
  979. }
  980. return event.NewSubscription(func(quit <-chan struct{}) error {
  981. defer sub.Unsubscribe()
  982. for {
  983. select {
  984. case log := <-logs:
  985. // New log arrived, parse the event and forward to the user
  986. event := new(ContractExtenderNewContractExtensionContractCreated)
  987. if err := _ContractExtender.contract.UnpackLog(event, "NewContractExtensionContractCreated", log); err != nil {
  988. return err
  989. }
  990. event.Raw = log
  991. select {
  992. case sink <- event:
  993. case err := <-sub.Err():
  994. return err
  995. case <-quit:
  996. return nil
  997. }
  998. case err := <-sub.Err():
  999. return err
  1000. case <-quit:
  1001. return nil
  1002. }
  1003. }
  1004. }), nil
  1005. }
  1006. // ParseNewContractExtensionContractCreated is a log parse operation binding the contract event 0x04576ede6057794ada68966eebc285c98a2726cbc4929ffd1ad9900336728d93.
  1007. //
  1008. // Solidity: event NewContractExtensionContractCreated(address toExtend, string recipientPTMKey, address recipientAddress)
  1009. func (_ContractExtender *ContractExtenderFilterer) ParseNewContractExtensionContractCreated(log types.Log) (*ContractExtenderNewContractExtensionContractCreated, error) {
  1010. event := new(ContractExtenderNewContractExtensionContractCreated)
  1011. if err := _ContractExtender.contract.UnpackLog(event, "NewContractExtensionContractCreated", log); err != nil {
  1012. return nil, err
  1013. }
  1014. return event, nil
  1015. }
  1016. // ContractExtenderNewVoteIterator is returned from FilterNewVote and is used to iterate over the raw logs and unpacked data for NewVote events raised by the ContractExtender contract.
  1017. type ContractExtenderNewVoteIterator struct {
  1018. Event *ContractExtenderNewVote // Event containing the contract specifics and raw log
  1019. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1020. event string // Event name to use for unpacking event data
  1021. logs chan types.Log // Log channel receiving the found contract events
  1022. sub ethereum.Subscription // Subscription for errors, completion and termination
  1023. done bool // Whether the subscription completed delivering logs
  1024. fail error // Occurred error to stop iteration
  1025. }
  1026. // Next advances the iterator to the subsequent event, returning whether there
  1027. // are any more events found. In case of a retrieval or parsing error, false is
  1028. // returned and Error() can be queried for the exact failure.
  1029. func (it *ContractExtenderNewVoteIterator) Next() bool {
  1030. // If the iterator failed, stop iterating
  1031. if it.fail != nil {
  1032. return false
  1033. }
  1034. // If the iterator completed, deliver directly whatever's available
  1035. if it.done {
  1036. select {
  1037. case log := <-it.logs:
  1038. it.Event = new(ContractExtenderNewVote)
  1039. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1040. it.fail = err
  1041. return false
  1042. }
  1043. it.Event.Raw = log
  1044. return true
  1045. default:
  1046. return false
  1047. }
  1048. }
  1049. // Iterator still in progress, wait for either a data or an error event
  1050. select {
  1051. case log := <-it.logs:
  1052. it.Event = new(ContractExtenderNewVote)
  1053. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1054. it.fail = err
  1055. return false
  1056. }
  1057. it.Event.Raw = log
  1058. return true
  1059. case err := <-it.sub.Err():
  1060. it.done = true
  1061. it.fail = err
  1062. return it.Next()
  1063. }
  1064. }
  1065. // Error returns any retrieval or parsing error occurred during filtering.
  1066. func (it *ContractExtenderNewVoteIterator) Error() error {
  1067. return it.fail
  1068. }
  1069. // Close terminates the iteration process, releasing any pending underlying
  1070. // resources.
  1071. func (it *ContractExtenderNewVoteIterator) Close() error {
  1072. it.sub.Unsubscribe()
  1073. return nil
  1074. }
  1075. // ContractExtenderNewVote represents a NewVote event raised by the ContractExtender contract.
  1076. type ContractExtenderNewVote struct {
  1077. Vote bool
  1078. Voter common.Address
  1079. Raw types.Log // Blockchain specific contextual infos
  1080. }
  1081. // FilterNewVote is a free log retrieval operation binding the contract event 0x225708d30006b0cc86d855ab91047edb5fe9c2e416412f36c18c6e90fe4e461f.
  1082. //
  1083. // Solidity: event NewVote(bool vote, address voter)
  1084. func (_ContractExtender *ContractExtenderFilterer) FilterNewVote(opts *bind.FilterOpts) (*ContractExtenderNewVoteIterator, error) {
  1085. logs, sub, err := _ContractExtender.contract.FilterLogs(opts, "NewVote")
  1086. if err != nil {
  1087. return nil, err
  1088. }
  1089. return &ContractExtenderNewVoteIterator{contract: _ContractExtender.contract, event: "NewVote", logs: logs, sub: sub}, nil
  1090. }
  1091. var NewVoteTopicHash = "0x225708d30006b0cc86d855ab91047edb5fe9c2e416412f36c18c6e90fe4e461f"
  1092. // WatchNewVote is a free log subscription operation binding the contract event 0x225708d30006b0cc86d855ab91047edb5fe9c2e416412f36c18c6e90fe4e461f.
  1093. //
  1094. // Solidity: event NewVote(bool vote, address voter)
  1095. func (_ContractExtender *ContractExtenderFilterer) WatchNewVote(opts *bind.WatchOpts, sink chan<- *ContractExtenderNewVote) (event.Subscription, error) {
  1096. logs, sub, err := _ContractExtender.contract.WatchLogs(opts, "NewVote")
  1097. if err != nil {
  1098. return nil, err
  1099. }
  1100. return event.NewSubscription(func(quit <-chan struct{}) error {
  1101. defer sub.Unsubscribe()
  1102. for {
  1103. select {
  1104. case log := <-logs:
  1105. // New log arrived, parse the event and forward to the user
  1106. event := new(ContractExtenderNewVote)
  1107. if err := _ContractExtender.contract.UnpackLog(event, "NewVote", log); err != nil {
  1108. return err
  1109. }
  1110. event.Raw = log
  1111. select {
  1112. case sink <- event:
  1113. case err := <-sub.Err():
  1114. return err
  1115. case <-quit:
  1116. return nil
  1117. }
  1118. case err := <-sub.Err():
  1119. return err
  1120. case <-quit:
  1121. return nil
  1122. }
  1123. }
  1124. }), nil
  1125. }
  1126. // ParseNewVote is a log parse operation binding the contract event 0x225708d30006b0cc86d855ab91047edb5fe9c2e416412f36c18c6e90fe4e461f.
  1127. //
  1128. // Solidity: event NewVote(bool vote, address voter)
  1129. func (_ContractExtender *ContractExtenderFilterer) ParseNewVote(log types.Log) (*ContractExtenderNewVote, error) {
  1130. event := new(ContractExtenderNewVote)
  1131. if err := _ContractExtender.contract.UnpackLog(event, "NewVote", log); err != nil {
  1132. return nil, err
  1133. }
  1134. return event, nil
  1135. }
  1136. // ContractExtenderStateSharedIterator is returned from FilterStateShared and is used to iterate over the raw logs and unpacked data for StateShared events raised by the ContractExtender contract.
  1137. type ContractExtenderStateSharedIterator struct {
  1138. Event *ContractExtenderStateShared // Event containing the contract specifics and raw log
  1139. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1140. event string // Event name to use for unpacking event data
  1141. logs chan types.Log // Log channel receiving the found contract events
  1142. sub ethereum.Subscription // Subscription for errors, completion and termination
  1143. done bool // Whether the subscription completed delivering logs
  1144. fail error // Occurred error to stop iteration
  1145. }
  1146. // Next advances the iterator to the subsequent event, returning whether there
  1147. // are any more events found. In case of a retrieval or parsing error, false is
  1148. // returned and Error() can be queried for the exact failure.
  1149. func (it *ContractExtenderStateSharedIterator) Next() bool {
  1150. // If the iterator failed, stop iterating
  1151. if it.fail != nil {
  1152. return false
  1153. }
  1154. // If the iterator completed, deliver directly whatever's available
  1155. if it.done {
  1156. select {
  1157. case log := <-it.logs:
  1158. it.Event = new(ContractExtenderStateShared)
  1159. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1160. it.fail = err
  1161. return false
  1162. }
  1163. it.Event.Raw = log
  1164. return true
  1165. default:
  1166. return false
  1167. }
  1168. }
  1169. // Iterator still in progress, wait for either a data or an error event
  1170. select {
  1171. case log := <-it.logs:
  1172. it.Event = new(ContractExtenderStateShared)
  1173. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1174. it.fail = err
  1175. return false
  1176. }
  1177. it.Event.Raw = log
  1178. return true
  1179. case err := <-it.sub.Err():
  1180. it.done = true
  1181. it.fail = err
  1182. return it.Next()
  1183. }
  1184. }
  1185. // Error returns any retrieval or parsing error occurred during filtering.
  1186. func (it *ContractExtenderStateSharedIterator) Error() error {
  1187. return it.fail
  1188. }
  1189. // Close terminates the iteration process, releasing any pending underlying
  1190. // resources.
  1191. func (it *ContractExtenderStateSharedIterator) Close() error {
  1192. it.sub.Unsubscribe()
  1193. return nil
  1194. }
  1195. // ContractExtenderStateShared represents a StateShared event raised by the ContractExtender contract.
  1196. type ContractExtenderStateShared struct {
  1197. ToExtend common.Address
  1198. Tesserahash string
  1199. Uuid string
  1200. Raw types.Log // Blockchain specific contextual infos
  1201. }
  1202. // FilterStateShared is a free log retrieval operation binding the contract event 0x67a92539f3cbd7c5a9b36c23c0e2beceb27d2e1b3cd8eda02c623689267ae71e.
  1203. //
  1204. // Solidity: event StateShared(address toExtend, string tesserahash, string uuid)
  1205. func (_ContractExtender *ContractExtenderFilterer) FilterStateShared(opts *bind.FilterOpts) (*ContractExtenderStateSharedIterator, error) {
  1206. logs, sub, err := _ContractExtender.contract.FilterLogs(opts, "StateShared")
  1207. if err != nil {
  1208. return nil, err
  1209. }
  1210. return &ContractExtenderStateSharedIterator{contract: _ContractExtender.contract, event: "StateShared", logs: logs, sub: sub}, nil
  1211. }
  1212. var StateSharedTopicHash = "0x67a92539f3cbd7c5a9b36c23c0e2beceb27d2e1b3cd8eda02c623689267ae71e"
  1213. // WatchStateShared is a free log subscription operation binding the contract event 0x67a92539f3cbd7c5a9b36c23c0e2beceb27d2e1b3cd8eda02c623689267ae71e.
  1214. //
  1215. // Solidity: event StateShared(address toExtend, string tesserahash, string uuid)
  1216. func (_ContractExtender *ContractExtenderFilterer) WatchStateShared(opts *bind.WatchOpts, sink chan<- *ContractExtenderStateShared) (event.Subscription, error) {
  1217. logs, sub, err := _ContractExtender.contract.WatchLogs(opts, "StateShared")
  1218. if err != nil {
  1219. return nil, err
  1220. }
  1221. return event.NewSubscription(func(quit <-chan struct{}) error {
  1222. defer sub.Unsubscribe()
  1223. for {
  1224. select {
  1225. case log := <-logs:
  1226. // New log arrived, parse the event and forward to the user
  1227. event := new(ContractExtenderStateShared)
  1228. if err := _ContractExtender.contract.UnpackLog(event, "StateShared", log); err != nil {
  1229. return err
  1230. }
  1231. event.Raw = log
  1232. select {
  1233. case sink <- event:
  1234. case err := <-sub.Err():
  1235. return err
  1236. case <-quit:
  1237. return nil
  1238. }
  1239. case err := <-sub.Err():
  1240. return err
  1241. case <-quit:
  1242. return nil
  1243. }
  1244. }
  1245. }), nil
  1246. }
  1247. // ParseStateShared is a log parse operation binding the contract event 0x67a92539f3cbd7c5a9b36c23c0e2beceb27d2e1b3cd8eda02c623689267ae71e.
  1248. //
  1249. // Solidity: event StateShared(address toExtend, string tesserahash, string uuid)
  1250. func (_ContractExtender *ContractExtenderFilterer) ParseStateShared(log types.Log) (*ContractExtenderStateShared, error) {
  1251. event := new(ContractExtenderStateShared)
  1252. if err := _ContractExtender.contract.UnpackLog(event, "StateShared", log); err != nil {
  1253. return nil, err
  1254. }
  1255. return event, nil
  1256. }
  1257. // ContractExtenderUpdateMembersIterator is returned from FilterUpdateMembers and is used to iterate over the raw logs and unpacked data for UpdateMembers events raised by the ContractExtender contract.
  1258. type ContractExtenderUpdateMembersIterator struct {
  1259. Event *ContractExtenderUpdateMembers // Event containing the contract specifics and raw log
  1260. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1261. event string // Event name to use for unpacking event data
  1262. logs chan types.Log // Log channel receiving the found contract events
  1263. sub ethereum.Subscription // Subscription for errors, completion and termination
  1264. done bool // Whether the subscription completed delivering logs
  1265. fail error // Occurred error to stop iteration
  1266. }
  1267. // Next advances the iterator to the subsequent event, returning whether there
  1268. // are any more events found. In case of a retrieval or parsing error, false is
  1269. // returned and Error() can be queried for the exact failure.
  1270. func (it *ContractExtenderUpdateMembersIterator) Next() bool {
  1271. // If the iterator failed, stop iterating
  1272. if it.fail != nil {
  1273. return false
  1274. }
  1275. // If the iterator completed, deliver directly whatever's available
  1276. if it.done {
  1277. select {
  1278. case log := <-it.logs:
  1279. it.Event = new(ContractExtenderUpdateMembers)
  1280. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1281. it.fail = err
  1282. return false
  1283. }
  1284. it.Event.Raw = log
  1285. return true
  1286. default:
  1287. return false
  1288. }
  1289. }
  1290. // Iterator still in progress, wait for either a data or an error event
  1291. select {
  1292. case log := <-it.logs:
  1293. it.Event = new(ContractExtenderUpdateMembers)
  1294. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1295. it.fail = err
  1296. return false
  1297. }
  1298. it.Event.Raw = log
  1299. return true
  1300. case err := <-it.sub.Err():
  1301. it.done = true
  1302. it.fail = err
  1303. return it.Next()
  1304. }
  1305. }
  1306. // Error returns any retrieval or parsing error occurred during filtering.
  1307. func (it *ContractExtenderUpdateMembersIterator) Error() error {
  1308. return it.fail
  1309. }
  1310. // Close terminates the iteration process, releasing any pending underlying
  1311. // resources.
  1312. func (it *ContractExtenderUpdateMembersIterator) Close() error {
  1313. it.sub.Unsubscribe()
  1314. return nil
  1315. }
  1316. // ContractExtenderUpdateMembers represents a UpdateMembers event raised by the ContractExtender contract.
  1317. type ContractExtenderUpdateMembers struct {
  1318. ToExtend common.Address
  1319. Uuid string
  1320. Raw types.Log // Blockchain specific contextual infos
  1321. }
  1322. // FilterUpdateMembers is a free log retrieval operation binding the contract event 0x8adc4573f947f9930560525736f61b116be55049125cb63a36887a40f92f3b44.
  1323. //
  1324. // Solidity: event UpdateMembers(address toExtend, string uuid)
  1325. func (_ContractExtender *ContractExtenderFilterer) FilterUpdateMembers(opts *bind.FilterOpts) (*ContractExtenderUpdateMembersIterator, error) {
  1326. logs, sub, err := _ContractExtender.contract.FilterLogs(opts, "UpdateMembers")
  1327. if err != nil {
  1328. return nil, err
  1329. }
  1330. return &ContractExtenderUpdateMembersIterator{contract: _ContractExtender.contract, event: "UpdateMembers", logs: logs, sub: sub}, nil
  1331. }
  1332. var UpdateMembersTopicHash = "0x8adc4573f947f9930560525736f61b116be55049125cb63a36887a40f92f3b44"
  1333. // WatchUpdateMembers is a free log subscription operation binding the contract event 0x8adc4573f947f9930560525736f61b116be55049125cb63a36887a40f92f3b44.
  1334. //
  1335. // Solidity: event UpdateMembers(address toExtend, string uuid)
  1336. func (_ContractExtender *ContractExtenderFilterer) WatchUpdateMembers(opts *bind.WatchOpts, sink chan<- *ContractExtenderUpdateMembers) (event.Subscription, error) {
  1337. logs, sub, err := _ContractExtender.contract.WatchLogs(opts, "UpdateMembers")
  1338. if err != nil {
  1339. return nil, err
  1340. }
  1341. return event.NewSubscription(func(quit <-chan struct{}) error {
  1342. defer sub.Unsubscribe()
  1343. for {
  1344. select {
  1345. case log := <-logs:
  1346. // New log arrived, parse the event and forward to the user
  1347. event := new(ContractExtenderUpdateMembers)
  1348. if err := _ContractExtender.contract.UnpackLog(event, "UpdateMembers", log); err != nil {
  1349. return err
  1350. }
  1351. event.Raw = log
  1352. select {
  1353. case sink <- event:
  1354. case err := <-sub.Err():
  1355. return err
  1356. case <-quit:
  1357. return nil
  1358. }
  1359. case err := <-sub.Err():
  1360. return err
  1361. case <-quit:
  1362. return nil
  1363. }
  1364. }
  1365. }), nil
  1366. }
  1367. // ParseUpdateMembers is a log parse operation binding the contract event 0x8adc4573f947f9930560525736f61b116be55049125cb63a36887a40f92f3b44.
  1368. //
  1369. // Solidity: event UpdateMembers(address toExtend, string uuid)
  1370. func (_ContractExtender *ContractExtenderFilterer) ParseUpdateMembers(log types.Log) (*ContractExtenderUpdateMembers, error) {
  1371. event := new(ContractExtenderUpdateMembers)
  1372. if err := _ContractExtender.contract.UnpackLog(event, "UpdateMembers", log); err != nil {
  1373. return nil, err
  1374. }
  1375. return event, nil
  1376. }