github.com/energicryptocurrency/go-energi@v1.1.7/energi/abi/TreasuryV2.go (about) 1 // Code generated - DO NOT EDIT. 2 // This file is a generated binding and any manual changes will be lost. 3 4 package abi 5 6 import ( 7 "math/big" 8 "strings" 9 10 ethereum "github.com/energicryptocurrency/go-energi" 11 "github.com/energicryptocurrency/go-energi/accounts/abi" 12 "github.com/energicryptocurrency/go-energi/accounts/abi/bind" 13 "github.com/energicryptocurrency/go-energi/common" 14 "github.com/energicryptocurrency/go-energi/core/types" 15 "github.com/energicryptocurrency/go-energi/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = abi.U256 24 _ = bind.Bind 25 _ = common.Big1 26 _ = types.BloomLookup 27 _ = event.NewSubscription 28 ) 29 30 // TreasuryV2ABI is the input ABI used to generate the binding from. 31 const TreasuryV2ABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_proxy\",\"type\":\"address\"},{\"internalType\":\"contractIGovernedProxy\",\"name\":\"_mnregistry_proxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_superblock_cycle\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"ref_uuid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contractIBudgetProposal\",\"name\":\"proposal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"payout_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"BudgetProposal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Contribution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"ref_uuid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contractIBudgetProposal\",\"name\":\"proposal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Payout\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"active_proposals\",\"outputs\":[{\"internalType\":\"contractIBudgetProposal\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"contribute\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contractIGovernedContract\",\"name\":\"_newImpl\",\"type\":\"address\"}],\"name\":\"destroy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"getReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"isSuperblock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"listProposals\",\"outputs\":[{\"internalType\":\"contractIBudgetProposal[]\",\"name\":\"proposals\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contractIGovernedContract\",\"name\":\"_oldImpl\",\"type\":\"address\"}],\"name\":\"migrate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mnregistry_proxy\",\"outputs\":[{\"internalType\":\"contractIGovernedProxy\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"contractIBudgetProposal\",\"name\":\"proposal\",\"type\":\"address\"}],\"name\":\"proposal_uuid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_ref_uuid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_period\",\"type\":\"uint256\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"contractIBudgetProposal\",\"name\":\"proposal\",\"type\":\"address\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"reward\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"superblock_cycle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_ref_uuid\",\"type\":\"uint256\"}],\"name\":\"uuid_proposal\",\"outputs\":[{\"internalType\":\"contractIBudgetProposal\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"v1storage\",\"outputs\":[{\"internalType\":\"contractStorageTreasuryV1\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 32 33 // TreasuryV2Bin is the compiled bytecode used for deploying new contracts. 34 const TreasuryV2Bin = `608060405234801561001057600080fd5b5060405161329d38038061329d8339818101604052606081101561003357600080fd5b5080516020820151604092830151600080546001600160a01b0319166001600160a01b038516179055925191929091839083908390610071906100d4565b604051809103906000f08015801561008d573d6000803e3d6000fd5b50600280546001600160a01b03199081166001600160a01b0393841617909155600380549091169184169190911790556004819055806100c957fe5b5050505050506100e1565b61055c80612d4183390190565b612c51806100f06000396000f3fe608060405260043610620001095760003560e01c80635c0992151162000097578063d5f997891162000061578063d5f9978914620003ff578063d7bb99ba146200042d578063ec5568891462000437578063fe7334e8146200044f5762000109565b80635c0992151462000331578063b69ef8a8146200035f578063caef1d5a1462000377578063ce5494bb14620003bb5762000109565b806326c7eb1c11620000d957806326c7eb1c14620002185780632d059305146200028257806340376d5614620002c357806352782d8614620002ef5762000109565b8062f55d9d14620001705780630ef3474514620001b65780631c4b774b14620001e0578063228cb733146200020e575b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f7420737570706f7274656400000000000000000000000000000000000000604482015290519081900360640190fd5b3480156200017d57600080fd5b50620001b4600480360360208110156200019657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1662000467565b005b348015620001c357600080fd5b50620001ce62000512565b60408051918252519081900360200190f35b348015620001ed57600080fd5b50620001ce600480360360208110156200020657600080fd5b503562000518565b620001b46200053d565b3480156200022557600080fd5b506200023062000618565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156200026e57818101518382015260200162000254565b505050509050019250505060405180910390f35b3480156200028f57600080fd5b506200029a6200076a565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6200029a60048036036060811015620002db57600080fd5b508035906020810135906040013562000786565b348015620002fc57600080fd5b506200031d600480360360208110156200031557600080fd5b503562000e31565b604080519115158252519081900360200190f35b3480156200033e57600080fd5b506200029a600480360360208110156200035757600080fd5b503562000e54565b3480156200036c57600080fd5b50620001ce62000efb565b3480156200038457600080fd5b50620001ce600480360360208110156200039d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1662000f00565b348015620003c857600080fd5b50620001b460048036036020811015620003e157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1662000f78565b3480156200040c57600080fd5b506200029a600480360360208110156200042557600080fd5b503562001008565b620001b462001033565b3480156200044457600080fd5b506200029a62001095565b3480156200045c57600080fd5b506200029a620010b1565b60005473ffffffffffffffffffffffffffffffffffffffff163314620004ee57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742070726f78790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b620004f981620010cd565b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60045481565b6000620005258262000e31565b156200053857506926f6a8f4e638030000005b919050565b60015415620005ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60018055620005bb620015a7565b6000620005c8826200115e565b905030318015801590620005dc5750600082115b156200060e576103e881831115620006005782826103e80281620005fc57fe5b0490505b6200060c8185620013f8565b505b5050600060015550565b604080516064808252610ca0820190925260609182919060208201610c80803883390190505090506000805b6064811015620006d8576000600582606481106200065e57fe5b015473ffffffffffffffffffffffffffffffffffffffff1690508015620006ce57808484806001019550815181106200069357fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5060010162000644565b508060405190808252806020026020018201604052801562000704578160200160208202803883390190505b50925060005b8181101562000763578281815181106200072057fe5b60200260200101518482815181106200073557fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526001016200070a565b5050505b90565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6000600154600014620007fa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600180556103e86002850204681043561a88293000000134146200087f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f496e76616c696420666565000000000000000000000000000000000000000000604482015290519081900360640190fd5b62127500821015620008f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f546f6f20736d616c6c20706572696f6400000000000000000000000000000000604482015290519081900360640190fd5b62278d008211156200096557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f546f6f206c6172676520706572696f6400000000000000000000000000000000604482015290519081900360640190fd5b60025473ffffffffffffffffffffffffffffffffffffffff1660006200098a62001575565b9050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c099215876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009f657600080fd5b505afa15801562000a0b573d6000803e3d6000fd5b505050506040513d602081101562000a2257600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161462000aa757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f5555494420696e20757365000000000000000000000000000000000000000000604482015290519081900360640190fd5b60005b606481101562000bd65760006005826064811062000ac457fe5b015473ffffffffffffffffffffffffffffffffffffffff16141562000bcd57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168287898860405162000b1890620015d8565b73ffffffffffffffffffffffffffffffffffffffff95861681529390941660208401526040808401929092526060830152608082019290925290519081900360a001906000f08015801562000b71573d6000803e3d6000fd5b509350836005826064811062000b8357fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905562000bd6565b60010162000aaa565b5073ffffffffffffffffffffffffffffffffffffffff831662000c5a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f546f6f206d616e79206163746976652070726f706f73616c7300000000000000604482015290519081900360640190fd5b8273ffffffffffffffffffffffffffffffffffffffff16632ded3227346040518263ffffffff1660e01b81526004016000604051808303818588803b15801562000ca357600080fd5b505af115801562000cb8573d6000803e3d6000fd5b5050604080517eb9f954000000000000000000000000000000000000000000000000000000008152600481018a905273ffffffffffffffffffffffffffffffffffffffff88811660248301529151918716945062b9f9549350604480820193506000929182900301818387803b15801562000d3257600080fd5b505af115801562000d47573d6000803e3d6000fd5b50505050847fa94befa3ce181974130fe36e854a282c70fb75e4decb42bfecdecbd6f88f0f5d8483898773ffffffffffffffffffffffffffffffffffffffff166329dcb0cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000db757600080fd5b505afa15801562000dcc573d6000803e3d6000fd5b505050506040513d602081101562000de357600080fd5b50516040805173ffffffffffffffffffffffffffffffffffffffff958616815293909416602084015282840191909152606082015290519081900360800190a2505060006001559392505050565b6000600454828162000e3f57fe5b0615801562000e4e5750600082115b92915050565b600254604080517f5c09921500000000000000000000000000000000000000000000000000000000815260048101849052905160009273ffffffffffffffffffffffffffffffffffffffff1691635c099215916024808301926020929190829003018186803b15801562000ec757600080fd5b505afa15801562000edc573d6000803e3d6000fd5b505050506040513d602081101562000ef357600080fd5b505192915050565b303190565b600254604080517fcaef1d5a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529151600093929092169163caef1d5a91602480820192602092909190829003018186803b15801562000ec757600080fd5b60005473ffffffffffffffffffffffffffffffffffffffff16331462000fff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742070726f78790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b62001005815b50565b600581606481106200101657fe5b015473ffffffffffffffffffffffffffffffffffffffff16905081565b341562001093577f4d154d4aae216bed6d0926db77c00df2b57c6b5ba4eee05775de20facede3a7b6200106562001575565b6040805173ffffffffffffffffffffffffffffffffffffffff90921682523460208301528051918290030190a15b565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b600254604080517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152915191909216916313af403591602480830192600092919082900301818387803b1580156200114257600080fd5b505af115801562001157573d6000803e3d6000fd5b5050505050565b60008080808080805b6064811015620013ed57600581606481106200117f57fe5b015473ffffffffffffffffffffffffffffffffffffffff1695508515620013e4578573ffffffffffffffffffffffffffffffffffffffff16633b2a1b146040518163ffffffff1660e01b815260040160806040518083038186803b158015620011e757600080fd5b505afa158015620011fc573d6000803e3d6000fd5b505050506040513d60808110156200121357600080fd5b5080516020820151604083015160609093015191975095509093509150831562001345578115620012a75795810195858882606481106200125057fe5b602002015173ffffffffffffffffffffffffffffffffffffffff9091169052848882606481106200127d57fe5b60200201516020018181525050818882606481106200129857fe5b6020020151604001526200133f565b8573ffffffffffffffffffffffffffffffffffffffff166383197ef06040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620012f057600080fd5b505af115801562001305573d6000803e3d6000fd5b50505050600581606481106200131757fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b620013e4565b8215620013e4578573ffffffffffffffffffffffffffffffffffffffff1663e52253816040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200139557600080fd5b505af1158015620013aa573d6000803e3d6000fd5b5050505060058160648110620013bc57fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60010162001167565b505050505050919050565b6000805b60648110156200156f578281606481106200141357fe5b602002015151915073ffffffffffffffffffffffffffffffffffffffff821615620015665760006103e8858584606481106200144b57fe5b60200201516040015102816200145d57fe5b0490508382606481106200146d57fe5b6020020151604001518111156200148057fe5b8273ffffffffffffffffffffffffffffffffffffffff166310cac8a5826040518263ffffffff1660e01b81526004016000604051808303818588803b158015620014c957600080fd5b505af1158015620014de573d6000803e3d6000fd5b5050505050838260648110620014f057fe5b6020020151602001517f5f7341a552ae2d452b071917104c05fbac3663936a69be768a05c40605056e7d8483604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a2505b600101620013fc565b50505050565b6000805473ffffffffffffffffffffffffffffffffffffffff163314156200159f57503262000767565b503362000767565b60405180610c8001604052806064905b620015c1620015e6565b815260200190600190039081620015b75790505090565b6115ff806200161e83390190565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152509056fe60806040523480156200001157600080fd5b50604051620015ff380380620015ff833981810160405260a08110156200003757600080fd5b5080516020808301516040808501516060860151608090960151600180546001600160a01b0319908116331790915543600255600080546001600160a01b03808a16918416821783554285016003556004805491891691909416178355600b805460ff1916604290811790915586517f8abf60770000000000000000000000000000000000000000000000000000000081529651999a9799959894968b96600a96899693958d95909485949193638abf60779383830193909290829003018186803b1580156200010657600080fd5b505afa1580156200011b573d6000803e3d6000fd5b505050506040513d60208110156200013257600080fd5b5051604080517f06661abd00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216916306661abd9160048082019260a092909190829003018186803b1580156200019057600080fd5b505afa158015620001a5573d6000803e3d6000fd5b505050506040513d60a0811015620001bc57600080fd5b5060408101516080909101519092509050806200023a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4e6f7420726561647920666f722070726f706f73616c73000000000000000000604482015290519081900360640190fd5b60028104821015620002ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41637469766520776569676874203c20312f3220657665722077656967687400604482015290519081900360640190fd5b600160ff871610156200032157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f51756f72756d206d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b606460ff871611156200039557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f51756f72756d206d617800000000000000000000000000000000000000000000604482015290519081900360640190fd5b6008829055606460ff8716830204600955603360ff871610620003be57600954600a55620003c9565b60646033830204600a555b6000600954116200043b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f51756f72756d2077656967687400000000000000000000000000000000000000604482015290519081900360640190fd5b6000600a5411620004ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f46696e6973682077656967687400000000000000000000000000000000000000604482015290519081900360640190fd5b505050600f96909655505050600e919091555050505061112c80620004d36000396000f3fe6080604052600436106101b75760003560e01c80637639b1eb116100ec578063aec2ccae1161008a578063c40a70f811610064578063c40a70f8146104df578063c86e6c15146104f4578063e522538114610509578063fe7334e81461051e576101b7565b8063aec2ccae14610475578063bd4c1f39146104b5578063c2472ef8146104ca576101b7565b806391840a6b116100c657806391840a6b146103f6578063990a663b1461040b5780639d5e6c9d14610420578063adfaa72e14610435576101b7565b80637639b1eb146103b75780637b352962146103cc57806383197ef0146103e1576101b7565b80634cafdfb21161015957806356c2a0a11161013357806356c2a0a1146103245780635c31f2201461033957806360f96a8f1461036457806375df0f99146103a2576101b7565b80634cafdfb2146102d1578063504881df146102e65780635051a5ec146102fb576101b7565b80632ded3227116101955780632ded3227146102645780633b2a1b141461026c5780633ccfd60b146102a75780633d1db3e9146102bc576101b7565b80630b62be451461021e57806310cac8a51461024557806329dcb0cf1461024f575b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4e6f7420616c6c6f776564000000000000000000000000000000000000000000604482015290519081900360640190fd5b34801561022a57600080fd5b50610233610533565b60408051918252519081900360200190f35b61024d610539565b005b34801561025b57600080fd5b50610233610550565b61024d610556565b34801561027857600080fd5b506102816105e6565b604080519485529215156020850152901515838301526060830152519081900360800190f35b3480156102b357600080fd5b5061024d61061e565b3480156102c857600080fd5b506102336106db565b3480156102dd57600080fd5b506102336106e1565b3480156102f257600080fd5b506102336106e7565b34801561030757600080fd5b506103106106ed565b604080519115158252519081900360200190f35b34801561033057600080fd5b5061024d610746565b34801561034557600080fd5b5061034e610759565b6040805160ff9092168252519081900360200190f35b34801561037057600080fd5b50610379610762565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156103ae57600080fd5b5061023361077e565b3480156103c357600080fd5b50610233610784565b3480156103d857600080fd5b5061031061078a565b3480156103ed57600080fd5b5061024d6107b4565b34801561040257600080fd5b50610233610855565b34801561041757600080fd5b5061023361085b565b34801561042c57600080fd5b50610379610861565b34801561044157600080fd5b506103106004803603602081101561045857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661087d565b34801561048157600080fd5b506103106004803603602081101561049857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a17565b3480156104c157600080fd5b50610233610a2c565b3480156104d657600080fd5b5061024d610a32565b3480156104eb57600080fd5b50610379610a45565b34801561050057600080fd5b50610233610a61565b34801561051557600080fd5b5061024d610a67565b34801561052a57600080fd5b50610379610dbc565b60025481565b600d8054340190819055600e54101561054e57fe5b565b60035481565b60015473ffffffffffffffffffffffffffffffffffffffff1633146105dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4f6e6c7920706172656e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b6005805434019055565b600f54600080806105f56106ed565b92506105ff61078a565b9150600e54600d54111561060f57fe5b600d54600e5403905090919293565b6106266106ed565b61069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e6f742061636365707465640000000000000000000000000000000000000000604482015290519081900360640190fd5b60045460405173ffffffffffffffffffffffffffffffffffffffff90911690303180156108fc02916000818181858888f193505050501580156106d8573d6000803e3d6000fd5b50565b600a5481565b600e5481565b600d5481565b6000600a546006541061070257506001610743565b61070a61078a565b61071657506000610743565b60095460075460065401101561072e57506000610743565b600b5460095460649160ff1602046006541190505b90565b61074e610dd8565b600780549091019055565b600b5460ff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60065481565b6000426003541115806107a15750600a5460065410155b806107af5750600a54600754115b905090565b60015473ffffffffffffffffffffffffffffffffffffffff16331461083a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4f6e6c7920706172656e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b60045473ffffffffffffffffffffffffffffffffffffffff16ff5b60085481565b60055481565b60045473ffffffffffffffffffffffffffffffffffffffff1690565b60008054604080517f8abf60770000000000000000000000000000000000000000000000000000000081529051839273ffffffffffffffffffffffffffffffffffffffff1691638abf6077916004808301926020929190829003018186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d602081101561091257600080fd5b5051604080517fb83e160500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015291519293506000929184169163b83e16059160248082019260e092909190829003018186803b15801561098a57600080fd5b505afa15801561099e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060e08110156109c357600080fd5b5060a00151600354909150421080156109dd575060025481105b8015610a0f575073ffffffffffffffffffffffffffffffffffffffff84166000908152600c602052604090205460ff16155b949350505050565b600c6020526000908152604090205460ff1681565b600f5481565b610a3a610dd8565b600680549091019055565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b610a6f61078a565b8015610a805750610a7e6106ed565b155b610aeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4e6f7420636f6c6c65637461626c650000000000000000000000000000000000604482015290519081900360640190fd5b60015473ffffffffffffffffffffffffffffffffffffffff163314610b7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4f6e6c7920706172656e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638abf60776040518163ffffffff1660e01b815260040160206040518083038186803b158015610bda57600080fd5b505afa158015610bee573d6000803e3d6000fd5b505050506040513d6020811015610c0457600080fd5b5051604080517fa2731784000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff84169163a2731784916004808301926020929190829003018186803b158015610c7257600080fd5b505afa158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b5051604080517f8abf6077000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921691638abf607791600480820192602092909190829003018186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b5051604080517fd7bb99ba000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff83169163d7bb99ba91303191600480830192600092919082900301818588803b158015610d9f57600080fd5b505af1158015610db3573d6000803e3d6000fd5b50505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60004260035411610e4a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f46696e6973686564000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638abf60776040518163ffffffff1660e01b815260040160206040518083038186803b158015610eb357600080fd5b505afa158015610ec7573d6000803e3d6000fd5b505050506040513d6020811015610edd57600080fd5b5051604080517fb83e160500000000000000000000000000000000000000000000000000000000815233600482018190529151929350909160009173ffffffffffffffffffffffffffffffffffffffff85169163b83e16059160248082019260e092909190829003018186803b158015610f5657600080fd5b505afa158015610f6a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060e0811015610f8f57600080fd5b50608081015160a0909101516002549195509150811061101057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e6f7420656c696769626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff82166000908152600c602052604090205460ff16156110a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f416c726561647920766f74656400000000000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff166000908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055509056fea265627a7a72315820e5e97d2670fa57167c7905e4e899751e87aa3624c34289ac3f5005da752f470164736f6c63430005100032a265627a7a72315820507295a13fdce8c7176f727f61fe8ee5bbe6fbda5506096b41a6750897d3838a64736f6c634300051000326080604052600080546001600160a01b03191633179055610537806100256000396000f3fe608060405234801561001057600080fd5b50600436106100715760003560e01c806341c0e1b51161005057806341c0e1b5146101175780635c0992151461011f578063caef1d5a1461016557610071565b8062b9f9541461007657806313af4035146100b15780633c97f294146100e4575b600080fd5b6100af6004803603604081101561008c57600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff166101aa565b005b6100af600480360360208110156100c757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661028e565b6100af600480360360208110156100fa57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661035b565b6100af61043f565b61013c6004803603602081101561013557600080fd5b50356104c8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101986004803603602081101561017b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104f0565b60408051918252519081900360200190f35b60005473ffffffffffffffffffffffffffffffffffffffff16331461023057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000828152600160209081526040808320805473ffffffffffffffffffffffffffffffffffffffff9095167fffffffffffffffffffffffff000000000000000000000000000000000000000090951685179055928252600290522055565b60005473ffffffffffffffffffffffffffffffffffffffff16331461031457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260026020908152604080832080549084905583526001909152902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104c557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f74206f776e65722100000000000000000000000000000000000000000000604482015290519081900360640190fd5b33ff5b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052600090815260409020548156fea265627a7a723158209132ef2adc675d140660df84591611984a1559600c22d153262f85df18b5669964736f6c63430005100032` 35 36 // DeployTreasuryV2 deploys a new Ethereum contract, binding an instance of TreasuryV2 to it. 37 func DeployTreasuryV2(auth *bind.TransactOpts, backend bind.ContractBackend, _proxy common.Address, _mnregistry_proxy common.Address, _superblock_cycle *big.Int) (common.Address, *types.Transaction, *TreasuryV2, error) { 38 parsed, err := abi.JSON(strings.NewReader(TreasuryV2ABI)) 39 if err != nil { 40 return common.Address{}, nil, nil, err 41 } 42 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(TreasuryV2Bin), backend, _proxy, _mnregistry_proxy, _superblock_cycle) 43 if err != nil { 44 return common.Address{}, nil, nil, err 45 } 46 return address, tx, &TreasuryV2{TreasuryV2Caller: TreasuryV2Caller{contract: contract}, TreasuryV2Transactor: TreasuryV2Transactor{contract: contract}, TreasuryV2Filterer: TreasuryV2Filterer{contract: contract}}, nil 47 } 48 49 // TreasuryV2Bin is the compiled bytecode of contract after deployment. 50 const TreasuryV2RuntimeBin = `608060405260043610620001095760003560e01c80635c0992151162000097578063d5f997891162000061578063d5f9978914620003ff578063d7bb99ba146200042d578063ec5568891462000437578063fe7334e8146200044f5762000109565b80635c0992151462000331578063b69ef8a8146200035f578063caef1d5a1462000377578063ce5494bb14620003bb5762000109565b806326c7eb1c11620000d957806326c7eb1c14620002185780632d059305146200028257806340376d5614620002c357806352782d8614620002ef5762000109565b8062f55d9d14620001705780630ef3474514620001b65780631c4b774b14620001e0578063228cb733146200020e575b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f7420737570706f7274656400000000000000000000000000000000000000604482015290519081900360640190fd5b3480156200017d57600080fd5b50620001b4600480360360208110156200019657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1662000467565b005b348015620001c357600080fd5b50620001ce62000512565b60408051918252519081900360200190f35b348015620001ed57600080fd5b50620001ce600480360360208110156200020657600080fd5b503562000518565b620001b46200053d565b3480156200022557600080fd5b506200023062000618565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156200026e57818101518382015260200162000254565b505050509050019250505060405180910390f35b3480156200028f57600080fd5b506200029a6200076a565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6200029a60048036036060811015620002db57600080fd5b508035906020810135906040013562000786565b348015620002fc57600080fd5b506200031d600480360360208110156200031557600080fd5b503562000e31565b604080519115158252519081900360200190f35b3480156200033e57600080fd5b506200029a600480360360208110156200035757600080fd5b503562000e54565b3480156200036c57600080fd5b50620001ce62000efb565b3480156200038457600080fd5b50620001ce600480360360208110156200039d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1662000f00565b348015620003c857600080fd5b50620001b460048036036020811015620003e157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1662000f78565b3480156200040c57600080fd5b506200029a600480360360208110156200042557600080fd5b503562001008565b620001b462001033565b3480156200044457600080fd5b506200029a62001095565b3480156200045c57600080fd5b506200029a620010b1565b60005473ffffffffffffffffffffffffffffffffffffffff163314620004ee57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742070726f78790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b620004f981620010cd565b8073ffffffffffffffffffffffffffffffffffffffff16ff5b60045481565b6000620005258262000e31565b156200053857506926f6a8f4e638030000005b919050565b60015415620005ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60018055620005bb620015a7565b6000620005c8826200115e565b905030318015801590620005dc5750600082115b156200060e576103e881831115620006005782826103e80281620005fc57fe5b0490505b6200060c8185620013f8565b505b5050600060015550565b604080516064808252610ca0820190925260609182919060208201610c80803883390190505090506000805b6064811015620006d8576000600582606481106200065e57fe5b015473ffffffffffffffffffffffffffffffffffffffff1690508015620006ce57808484806001019550815181106200069357fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5060010162000644565b508060405190808252806020026020018201604052801562000704578160200160208202803883390190505b50925060005b8181101562000763578281815181106200072057fe5b60200260200101518482815181106200073557fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526001016200070a565b5050505b90565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b6000600154600014620007fa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f5265656e74727900000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600180556103e86002850204681043561a88293000000134146200087f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f496e76616c696420666565000000000000000000000000000000000000000000604482015290519081900360640190fd5b62127500821015620008f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f546f6f20736d616c6c20706572696f6400000000000000000000000000000000604482015290519081900360640190fd5b62278d008211156200096557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f546f6f206c6172676520706572696f6400000000000000000000000000000000604482015290519081900360640190fd5b60025473ffffffffffffffffffffffffffffffffffffffff1660006200098a62001575565b9050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16635c099215876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009f657600080fd5b505afa15801562000a0b573d6000803e3d6000fd5b505050506040513d602081101562000a2257600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161462000aa757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f5555494420696e20757365000000000000000000000000000000000000000000604482015290519081900360640190fd5b60005b606481101562000bd65760006005826064811062000ac457fe5b015473ffffffffffffffffffffffffffffffffffffffff16141562000bcd57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168287898860405162000b1890620015d8565b73ffffffffffffffffffffffffffffffffffffffff95861681529390941660208401526040808401929092526060830152608082019290925290519081900360a001906000f08015801562000b71573d6000803e3d6000fd5b509350836005826064811062000b8357fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905562000bd6565b60010162000aaa565b5073ffffffffffffffffffffffffffffffffffffffff831662000c5a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f546f6f206d616e79206163746976652070726f706f73616c7300000000000000604482015290519081900360640190fd5b8273ffffffffffffffffffffffffffffffffffffffff16632ded3227346040518263ffffffff1660e01b81526004016000604051808303818588803b15801562000ca357600080fd5b505af115801562000cb8573d6000803e3d6000fd5b5050604080517eb9f954000000000000000000000000000000000000000000000000000000008152600481018a905273ffffffffffffffffffffffffffffffffffffffff88811660248301529151918716945062b9f9549350604480820193506000929182900301818387803b15801562000d3257600080fd5b505af115801562000d47573d6000803e3d6000fd5b50505050847fa94befa3ce181974130fe36e854a282c70fb75e4decb42bfecdecbd6f88f0f5d8483898773ffffffffffffffffffffffffffffffffffffffff166329dcb0cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000db757600080fd5b505afa15801562000dcc573d6000803e3d6000fd5b505050506040513d602081101562000de357600080fd5b50516040805173ffffffffffffffffffffffffffffffffffffffff958616815293909416602084015282840191909152606082015290519081900360800190a2505060006001559392505050565b6000600454828162000e3f57fe5b0615801562000e4e5750600082115b92915050565b600254604080517f5c09921500000000000000000000000000000000000000000000000000000000815260048101849052905160009273ffffffffffffffffffffffffffffffffffffffff1691635c099215916024808301926020929190829003018186803b15801562000ec757600080fd5b505afa15801562000edc573d6000803e3d6000fd5b505050506040513d602081101562000ef357600080fd5b505192915050565b303190565b600254604080517fcaef1d5a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529151600093929092169163caef1d5a91602480820192602092909190829003018186803b15801562000ec757600080fd5b60005473ffffffffffffffffffffffffffffffffffffffff16331462000fff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742070726f78790000000000000000000000000000000000000000000000604482015290519081900360640190fd5b62001005815b50565b600581606481106200101657fe5b015473ffffffffffffffffffffffffffffffffffffffff16905081565b341562001093577f4d154d4aae216bed6d0926db77c00df2b57c6b5ba4eee05775de20facede3a7b6200106562001575565b6040805173ffffffffffffffffffffffffffffffffffffffff90921682523460208301528051918290030190a15b565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b600254604080517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152915191909216916313af403591602480830192600092919082900301818387803b1580156200114257600080fd5b505af115801562001157573d6000803e3d6000fd5b5050505050565b60008080808080805b6064811015620013ed57600581606481106200117f57fe5b015473ffffffffffffffffffffffffffffffffffffffff1695508515620013e4578573ffffffffffffffffffffffffffffffffffffffff16633b2a1b146040518163ffffffff1660e01b815260040160806040518083038186803b158015620011e757600080fd5b505afa158015620011fc573d6000803e3d6000fd5b505050506040513d60808110156200121357600080fd5b5080516020820151604083015160609093015191975095509093509150831562001345578115620012a75795810195858882606481106200125057fe5b602002015173ffffffffffffffffffffffffffffffffffffffff9091169052848882606481106200127d57fe5b60200201516020018181525050818882606481106200129857fe5b6020020151604001526200133f565b8573ffffffffffffffffffffffffffffffffffffffff166383197ef06040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620012f057600080fd5b505af115801562001305573d6000803e3d6000fd5b50505050600581606481106200131757fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b620013e4565b8215620013e4578573ffffffffffffffffffffffffffffffffffffffff1663e52253816040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200139557600080fd5b505af1158015620013aa573d6000803e3d6000fd5b5050505060058160648110620013bc57fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60010162001167565b505050505050919050565b6000805b60648110156200156f578281606481106200141357fe5b602002015151915073ffffffffffffffffffffffffffffffffffffffff821615620015665760006103e8858584606481106200144b57fe5b60200201516040015102816200145d57fe5b0490508382606481106200146d57fe5b6020020151604001518111156200148057fe5b8273ffffffffffffffffffffffffffffffffffffffff166310cac8a5826040518263ffffffff1660e01b81526004016000604051808303818588803b158015620014c957600080fd5b505af1158015620014de573d6000803e3d6000fd5b5050505050838260648110620014f057fe5b6020020151602001517f5f7341a552ae2d452b071917104c05fbac3663936a69be768a05c40605056e7d8483604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a2505b600101620013fc565b50505050565b6000805473ffffffffffffffffffffffffffffffffffffffff163314156200159f57503262000767565b503362000767565b60405180610c8001604052806064905b620015c1620015e6565b815260200190600190039081620015b75790505090565b6115ff806200161e83390190565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152509056fe60806040523480156200001157600080fd5b50604051620015ff380380620015ff833981810160405260a08110156200003757600080fd5b5080516020808301516040808501516060860151608090960151600180546001600160a01b0319908116331790915543600255600080546001600160a01b03808a16918416821783554285016003556004805491891691909416178355600b805460ff1916604290811790915586517f8abf60770000000000000000000000000000000000000000000000000000000081529651999a9799959894968b96600a96899693958d95909485949193638abf60779383830193909290829003018186803b1580156200010657600080fd5b505afa1580156200011b573d6000803e3d6000fd5b505050506040513d60208110156200013257600080fd5b5051604080517f06661abd00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216916306661abd9160048082019260a092909190829003018186803b1580156200019057600080fd5b505afa158015620001a5573d6000803e3d6000fd5b505050506040513d60a0811015620001bc57600080fd5b5060408101516080909101519092509050806200023a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4e6f7420726561647920666f722070726f706f73616c73000000000000000000604482015290519081900360640190fd5b60028104821015620002ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41637469766520776569676874203c20312f3220657665722077656967687400604482015290519081900360640190fd5b600160ff871610156200032157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f51756f72756d206d696e00000000000000000000000000000000000000000000604482015290519081900360640190fd5b606460ff871611156200039557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f51756f72756d206d617800000000000000000000000000000000000000000000604482015290519081900360640190fd5b6008829055606460ff8716830204600955603360ff871610620003be57600954600a55620003c9565b60646033830204600a555b6000600954116200043b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f51756f72756d2077656967687400000000000000000000000000000000000000604482015290519081900360640190fd5b6000600a5411620004ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f46696e6973682077656967687400000000000000000000000000000000000000604482015290519081900360640190fd5b505050600f96909655505050600e919091555050505061112c80620004d36000396000f3fe6080604052600436106101b75760003560e01c80637639b1eb116100ec578063aec2ccae1161008a578063c40a70f811610064578063c40a70f8146104df578063c86e6c15146104f4578063e522538114610509578063fe7334e81461051e576101b7565b8063aec2ccae14610475578063bd4c1f39146104b5578063c2472ef8146104ca576101b7565b806391840a6b116100c657806391840a6b146103f6578063990a663b1461040b5780639d5e6c9d14610420578063adfaa72e14610435576101b7565b80637639b1eb146103b75780637b352962146103cc57806383197ef0146103e1576101b7565b80634cafdfb21161015957806356c2a0a11161013357806356c2a0a1146103245780635c31f2201461033957806360f96a8f1461036457806375df0f99146103a2576101b7565b80634cafdfb2146102d1578063504881df146102e65780635051a5ec146102fb576101b7565b80632ded3227116101955780632ded3227146102645780633b2a1b141461026c5780633ccfd60b146102a75780633d1db3e9146102bc576101b7565b80630b62be451461021e57806310cac8a51461024557806329dcb0cf1461024f575b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4e6f7420616c6c6f776564000000000000000000000000000000000000000000604482015290519081900360640190fd5b34801561022a57600080fd5b50610233610533565b60408051918252519081900360200190f35b61024d610539565b005b34801561025b57600080fd5b50610233610550565b61024d610556565b34801561027857600080fd5b506102816105e6565b604080519485529215156020850152901515838301526060830152519081900360800190f35b3480156102b357600080fd5b5061024d61061e565b3480156102c857600080fd5b506102336106db565b3480156102dd57600080fd5b506102336106e1565b3480156102f257600080fd5b506102336106e7565b34801561030757600080fd5b506103106106ed565b604080519115158252519081900360200190f35b34801561033057600080fd5b5061024d610746565b34801561034557600080fd5b5061034e610759565b6040805160ff9092168252519081900360200190f35b34801561037057600080fd5b50610379610762565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156103ae57600080fd5b5061023361077e565b3480156103c357600080fd5b50610233610784565b3480156103d857600080fd5b5061031061078a565b3480156103ed57600080fd5b5061024d6107b4565b34801561040257600080fd5b50610233610855565b34801561041757600080fd5b5061023361085b565b34801561042c57600080fd5b50610379610861565b34801561044157600080fd5b506103106004803603602081101561045857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661087d565b34801561048157600080fd5b506103106004803603602081101561049857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a17565b3480156104c157600080fd5b50610233610a2c565b3480156104d657600080fd5b5061024d610a32565b3480156104eb57600080fd5b50610379610a45565b34801561050057600080fd5b50610233610a61565b34801561051557600080fd5b5061024d610a67565b34801561052a57600080fd5b50610379610dbc565b60025481565b600d8054340190819055600e54101561054e57fe5b565b60035481565b60015473ffffffffffffffffffffffffffffffffffffffff1633146105dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4f6e6c7920706172656e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b6005805434019055565b600f54600080806105f56106ed565b92506105ff61078a565b9150600e54600d54111561060f57fe5b600d54600e5403905090919293565b6106266106ed565b61069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e6f742061636365707465640000000000000000000000000000000000000000604482015290519081900360640190fd5b60045460405173ffffffffffffffffffffffffffffffffffffffff90911690303180156108fc02916000818181858888f193505050501580156106d8573d6000803e3d6000fd5b50565b600a5481565b600e5481565b600d5481565b6000600a546006541061070257506001610743565b61070a61078a565b61071657506000610743565b60095460075460065401101561072e57506000610743565b600b5460095460649160ff1602046006541190505b90565b61074e610dd8565b600780549091019055565b600b5460ff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b60065481565b6000426003541115806107a15750600a5460065410155b806107af5750600a54600754115b905090565b60015473ffffffffffffffffffffffffffffffffffffffff16331461083a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4f6e6c7920706172656e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b60045473ffffffffffffffffffffffffffffffffffffffff16ff5b60085481565b60055481565b60045473ffffffffffffffffffffffffffffffffffffffff1690565b60008054604080517f8abf60770000000000000000000000000000000000000000000000000000000081529051839273ffffffffffffffffffffffffffffffffffffffff1691638abf6077916004808301926020929190829003018186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d602081101561091257600080fd5b5051604080517fb83e160500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015291519293506000929184169163b83e16059160248082019260e092909190829003018186803b15801561098a57600080fd5b505afa15801561099e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060e08110156109c357600080fd5b5060a00151600354909150421080156109dd575060025481105b8015610a0f575073ffffffffffffffffffffffffffffffffffffffff84166000908152600c602052604090205460ff16155b949350505050565b600c6020526000908152604090205460ff1681565b600f5481565b610a3a610dd8565b600680549091019055565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b610a6f61078a565b8015610a805750610a7e6106ed565b155b610aeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4e6f7420636f6c6c65637461626c650000000000000000000000000000000000604482015290519081900360640190fd5b60015473ffffffffffffffffffffffffffffffffffffffff163314610b7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4f6e6c7920706172656e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638abf60776040518163ffffffff1660e01b815260040160206040518083038186803b158015610bda57600080fd5b505afa158015610bee573d6000803e3d6000fd5b505050506040513d6020811015610c0457600080fd5b5051604080517fa2731784000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff84169163a2731784916004808301926020929190829003018186803b158015610c7257600080fd5b505afa158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b5051604080517f8abf6077000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921691638abf607791600480820192602092909190829003018186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b5051604080517fd7bb99ba000000000000000000000000000000000000000000000000000000008152905191925073ffffffffffffffffffffffffffffffffffffffff83169163d7bb99ba91303191600480830192600092919082900301818588803b158015610d9f57600080fd5b505af1158015610db3573d6000803e3d6000fd5b50505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60004260035411610e4a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f46696e6973686564000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638abf60776040518163ffffffff1660e01b815260040160206040518083038186803b158015610eb357600080fd5b505afa158015610ec7573d6000803e3d6000fd5b505050506040513d6020811015610edd57600080fd5b5051604080517fb83e160500000000000000000000000000000000000000000000000000000000815233600482018190529151929350909160009173ffffffffffffffffffffffffffffffffffffffff85169163b83e16059160248082019260e092909190829003018186803b158015610f5657600080fd5b505afa158015610f6a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060e0811015610f8f57600080fd5b50608081015160a0909101516002549195509150811061101057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e6f7420656c696769626c650000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff82166000908152600c602052604090205460ff16156110a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f416c726561647920766f74656400000000000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff166000908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055509056fea265627a7a72315820e5e97d2670fa57167c7905e4e899751e87aa3624c34289ac3f5005da752f470164736f6c63430005100032a265627a7a72315820507295a13fdce8c7176f727f61fe8ee5bbe6fbda5506096b41a6750897d3838a64736f6c63430005100032` 51 52 // TreasuryV2 is an auto generated Go binding around an Ethereum contract. 53 type TreasuryV2 struct { 54 TreasuryV2Caller // Read-only binding to the contract 55 TreasuryV2Transactor // Write-only binding to the contract 56 TreasuryV2Filterer // Log filterer for contract events 57 } 58 59 // TreasuryV2Caller is an auto generated read-only Go binding around an Ethereum contract. 60 type TreasuryV2Caller struct { 61 contract *bind.BoundContract // Generic contract wrapper for the low level calls 62 } 63 64 // TreasuryV2Transactor is an auto generated write-only Go binding around an Ethereum contract. 65 type TreasuryV2Transactor struct { 66 contract *bind.BoundContract // Generic contract wrapper for the low level calls 67 } 68 69 // TreasuryV2Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 70 type TreasuryV2Filterer struct { 71 contract *bind.BoundContract // Generic contract wrapper for the low level calls 72 } 73 74 // TreasuryV2Session is an auto generated Go binding around an Ethereum contract, 75 // with pre-set call and transact options. 76 type TreasuryV2Session struct { 77 Contract *TreasuryV2 // Generic contract binding to set the session for 78 CallOpts bind.CallOpts // Call options to use throughout this session 79 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 80 } 81 82 // TreasuryV2CallerSession is an auto generated read-only Go binding around an Ethereum contract, 83 // with pre-set call options. 84 type TreasuryV2CallerSession struct { 85 Contract *TreasuryV2Caller // Generic contract caller binding to set the session for 86 CallOpts bind.CallOpts // Call options to use throughout this session 87 } 88 89 // TreasuryV2TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 90 // with pre-set transact options. 91 type TreasuryV2TransactorSession struct { 92 Contract *TreasuryV2Transactor // Generic contract transactor binding to set the session for 93 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 94 } 95 96 // TreasuryV2Raw is an auto generated low-level Go binding around an Ethereum contract. 97 type TreasuryV2Raw struct { 98 Contract *TreasuryV2 // Generic contract binding to access the raw methods on 99 } 100 101 // TreasuryV2CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 102 type TreasuryV2CallerRaw struct { 103 Contract *TreasuryV2Caller // Generic read-only contract binding to access the raw methods on 104 } 105 106 // TreasuryV2TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 107 type TreasuryV2TransactorRaw struct { 108 Contract *TreasuryV2Transactor // Generic write-only contract binding to access the raw methods on 109 } 110 111 // NewTreasuryV2 creates a new instance of TreasuryV2, bound to a specific deployed contract. 112 func NewTreasuryV2(address common.Address, backend bind.ContractBackend) (*TreasuryV2, error) { 113 contract, err := bindTreasuryV2(address, backend, backend, backend) 114 if err != nil { 115 return nil, err 116 } 117 return &TreasuryV2{TreasuryV2Caller: TreasuryV2Caller{contract: contract}, TreasuryV2Transactor: TreasuryV2Transactor{contract: contract}, TreasuryV2Filterer: TreasuryV2Filterer{contract: contract}}, nil 118 } 119 120 // NewTreasuryV2Caller creates a new read-only instance of TreasuryV2, bound to a specific deployed contract. 121 func NewTreasuryV2Caller(address common.Address, caller bind.ContractCaller) (*TreasuryV2Caller, error) { 122 contract, err := bindTreasuryV2(address, caller, nil, nil) 123 if err != nil { 124 return nil, err 125 } 126 return &TreasuryV2Caller{contract: contract}, nil 127 } 128 129 // NewTreasuryV2Transactor creates a new write-only instance of TreasuryV2, bound to a specific deployed contract. 130 func NewTreasuryV2Transactor(address common.Address, transactor bind.ContractTransactor) (*TreasuryV2Transactor, error) { 131 contract, err := bindTreasuryV2(address, nil, transactor, nil) 132 if err != nil { 133 return nil, err 134 } 135 return &TreasuryV2Transactor{contract: contract}, nil 136 } 137 138 // NewTreasuryV2Filterer creates a new log filterer instance of TreasuryV2, bound to a specific deployed contract. 139 func NewTreasuryV2Filterer(address common.Address, filterer bind.ContractFilterer) (*TreasuryV2Filterer, error) { 140 contract, err := bindTreasuryV2(address, nil, nil, filterer) 141 if err != nil { 142 return nil, err 143 } 144 return &TreasuryV2Filterer{contract: contract}, nil 145 } 146 147 // bindTreasuryV2 binds a generic wrapper to an already deployed contract. 148 func bindTreasuryV2(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 149 parsed, err := abi.JSON(strings.NewReader(TreasuryV2ABI)) 150 if err != nil { 151 return nil, err 152 } 153 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 154 } 155 156 // Call invokes the (constant) contract method with params as input values and 157 // sets the output to result. The result type might be a single field for simple 158 // returns, a slice of interfaces for anonymous returns and a struct for named 159 // returns. 160 func (_TreasuryV2 *TreasuryV2Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 161 return _TreasuryV2.Contract.TreasuryV2Caller.contract.Call(opts, result, method, params...) 162 } 163 164 // Transfer initiates a plain transaction to move funds to the contract, calling 165 // its default method if one is available. 166 func (_TreasuryV2 *TreasuryV2Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 167 return _TreasuryV2.Contract.TreasuryV2Transactor.contract.Transfer(opts) 168 } 169 170 // Transact invokes the (paid) contract method with params as input values. 171 func (_TreasuryV2 *TreasuryV2Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 172 return _TreasuryV2.Contract.TreasuryV2Transactor.contract.Transact(opts, method, params...) 173 } 174 175 // Call invokes the (constant) contract method with params as input values and 176 // sets the output to result. The result type might be a single field for simple 177 // returns, a slice of interfaces for anonymous returns and a struct for named 178 // returns. 179 func (_TreasuryV2 *TreasuryV2CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 180 return _TreasuryV2.Contract.contract.Call(opts, result, method, params...) 181 } 182 183 // Transfer initiates a plain transaction to move funds to the contract, calling 184 // its default method if one is available. 185 func (_TreasuryV2 *TreasuryV2TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 186 return _TreasuryV2.Contract.contract.Transfer(opts) 187 } 188 189 // Transact invokes the (paid) contract method with params as input values. 190 func (_TreasuryV2 *TreasuryV2TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 191 return _TreasuryV2.Contract.contract.Transact(opts, method, params...) 192 } 193 194 // ActiveProposals is a free data retrieval call binding the contract method 0xd5f99789. 195 // 196 // Solidity: function active_proposals(uint256 ) constant returns(address) 197 func (_TreasuryV2 *TreasuryV2Caller) ActiveProposals(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { 198 var ( 199 ret0 = new(common.Address) 200 ) 201 out := ret0 202 err := _TreasuryV2.contract.Call(opts, out, "active_proposals", arg0) 203 return *ret0, err 204 } 205 206 // ActiveProposals is a free data retrieval call binding the contract method 0xd5f99789. 207 // 208 // Solidity: function active_proposals(uint256 ) constant returns(address) 209 func (_TreasuryV2 *TreasuryV2Session) ActiveProposals(arg0 *big.Int) (common.Address, error) { 210 return _TreasuryV2.Contract.ActiveProposals(&_TreasuryV2.CallOpts, arg0) 211 } 212 213 // ActiveProposals is a free data retrieval call binding the contract method 0xd5f99789. 214 // 215 // Solidity: function active_proposals(uint256 ) constant returns(address) 216 func (_TreasuryV2 *TreasuryV2CallerSession) ActiveProposals(arg0 *big.Int) (common.Address, error) { 217 return _TreasuryV2.Contract.ActiveProposals(&_TreasuryV2.CallOpts, arg0) 218 } 219 220 // Balance is a free data retrieval call binding the contract method 0xb69ef8a8. 221 // 222 // Solidity: function balance() constant returns(uint256 amount) 223 func (_TreasuryV2 *TreasuryV2Caller) Balance(opts *bind.CallOpts) (*big.Int, error) { 224 var ( 225 ret0 = new(*big.Int) 226 ) 227 out := ret0 228 err := _TreasuryV2.contract.Call(opts, out, "balance") 229 return *ret0, err 230 } 231 232 // Balance is a free data retrieval call binding the contract method 0xb69ef8a8. 233 // 234 // Solidity: function balance() constant returns(uint256 amount) 235 func (_TreasuryV2 *TreasuryV2Session) Balance() (*big.Int, error) { 236 return _TreasuryV2.Contract.Balance(&_TreasuryV2.CallOpts) 237 } 238 239 // Balance is a free data retrieval call binding the contract method 0xb69ef8a8. 240 // 241 // Solidity: function balance() constant returns(uint256 amount) 242 func (_TreasuryV2 *TreasuryV2CallerSession) Balance() (*big.Int, error) { 243 return _TreasuryV2.Contract.Balance(&_TreasuryV2.CallOpts) 244 } 245 246 // GetReward is a free data retrieval call binding the contract method 0x1c4b774b. 247 // 248 // Solidity: function getReward(uint256 _blockNumber) constant returns(uint256 amount) 249 func (_TreasuryV2 *TreasuryV2Caller) GetReward(opts *bind.CallOpts, _blockNumber *big.Int) (*big.Int, error) { 250 var ( 251 ret0 = new(*big.Int) 252 ) 253 out := ret0 254 err := _TreasuryV2.contract.Call(opts, out, "getReward", _blockNumber) 255 return *ret0, err 256 } 257 258 // GetReward is a free data retrieval call binding the contract method 0x1c4b774b. 259 // 260 // Solidity: function getReward(uint256 _blockNumber) constant returns(uint256 amount) 261 func (_TreasuryV2 *TreasuryV2Session) GetReward(_blockNumber *big.Int) (*big.Int, error) { 262 return _TreasuryV2.Contract.GetReward(&_TreasuryV2.CallOpts, _blockNumber) 263 } 264 265 // GetReward is a free data retrieval call binding the contract method 0x1c4b774b. 266 // 267 // Solidity: function getReward(uint256 _blockNumber) constant returns(uint256 amount) 268 func (_TreasuryV2 *TreasuryV2CallerSession) GetReward(_blockNumber *big.Int) (*big.Int, error) { 269 return _TreasuryV2.Contract.GetReward(&_TreasuryV2.CallOpts, _blockNumber) 270 } 271 272 // IsSuperblock is a free data retrieval call binding the contract method 0x52782d86. 273 // 274 // Solidity: function isSuperblock(uint256 _blockNumber) constant returns(bool) 275 func (_TreasuryV2 *TreasuryV2Caller) IsSuperblock(opts *bind.CallOpts, _blockNumber *big.Int) (bool, error) { 276 var ( 277 ret0 = new(bool) 278 ) 279 out := ret0 280 err := _TreasuryV2.contract.Call(opts, out, "isSuperblock", _blockNumber) 281 return *ret0, err 282 } 283 284 // IsSuperblock is a free data retrieval call binding the contract method 0x52782d86. 285 // 286 // Solidity: function isSuperblock(uint256 _blockNumber) constant returns(bool) 287 func (_TreasuryV2 *TreasuryV2Session) IsSuperblock(_blockNumber *big.Int) (bool, error) { 288 return _TreasuryV2.Contract.IsSuperblock(&_TreasuryV2.CallOpts, _blockNumber) 289 } 290 291 // IsSuperblock is a free data retrieval call binding the contract method 0x52782d86. 292 // 293 // Solidity: function isSuperblock(uint256 _blockNumber) constant returns(bool) 294 func (_TreasuryV2 *TreasuryV2CallerSession) IsSuperblock(_blockNumber *big.Int) (bool, error) { 295 return _TreasuryV2.Contract.IsSuperblock(&_TreasuryV2.CallOpts, _blockNumber) 296 } 297 298 // ListProposals is a free data retrieval call binding the contract method 0x26c7eb1c. 299 // 300 // Solidity: function listProposals() constant returns(address[] proposals) 301 func (_TreasuryV2 *TreasuryV2Caller) ListProposals(opts *bind.CallOpts) ([]common.Address, error) { 302 var ( 303 ret0 = new([]common.Address) 304 ) 305 out := ret0 306 err := _TreasuryV2.contract.Call(opts, out, "listProposals") 307 return *ret0, err 308 } 309 310 // ListProposals is a free data retrieval call binding the contract method 0x26c7eb1c. 311 // 312 // Solidity: function listProposals() constant returns(address[] proposals) 313 func (_TreasuryV2 *TreasuryV2Session) ListProposals() ([]common.Address, error) { 314 return _TreasuryV2.Contract.ListProposals(&_TreasuryV2.CallOpts) 315 } 316 317 // ListProposals is a free data retrieval call binding the contract method 0x26c7eb1c. 318 // 319 // Solidity: function listProposals() constant returns(address[] proposals) 320 func (_TreasuryV2 *TreasuryV2CallerSession) ListProposals() ([]common.Address, error) { 321 return _TreasuryV2.Contract.ListProposals(&_TreasuryV2.CallOpts) 322 } 323 324 // MnregistryProxy is a free data retrieval call binding the contract method 0xfe7334e8. 325 // 326 // Solidity: function mnregistry_proxy() constant returns(address) 327 func (_TreasuryV2 *TreasuryV2Caller) MnregistryProxy(opts *bind.CallOpts) (common.Address, error) { 328 var ( 329 ret0 = new(common.Address) 330 ) 331 out := ret0 332 err := _TreasuryV2.contract.Call(opts, out, "mnregistry_proxy") 333 return *ret0, err 334 } 335 336 // MnregistryProxy is a free data retrieval call binding the contract method 0xfe7334e8. 337 // 338 // Solidity: function mnregistry_proxy() constant returns(address) 339 func (_TreasuryV2 *TreasuryV2Session) MnregistryProxy() (common.Address, error) { 340 return _TreasuryV2.Contract.MnregistryProxy(&_TreasuryV2.CallOpts) 341 } 342 343 // MnregistryProxy is a free data retrieval call binding the contract method 0xfe7334e8. 344 // 345 // Solidity: function mnregistry_proxy() constant returns(address) 346 func (_TreasuryV2 *TreasuryV2CallerSession) MnregistryProxy() (common.Address, error) { 347 return _TreasuryV2.Contract.MnregistryProxy(&_TreasuryV2.CallOpts) 348 } 349 350 // ProposalUuid is a free data retrieval call binding the contract method 0xcaef1d5a. 351 // 352 // Solidity: function proposal_uuid(address proposal) constant returns(uint256) 353 func (_TreasuryV2 *TreasuryV2Caller) ProposalUuid(opts *bind.CallOpts, proposal common.Address) (*big.Int, error) { 354 var ( 355 ret0 = new(*big.Int) 356 ) 357 out := ret0 358 err := _TreasuryV2.contract.Call(opts, out, "proposal_uuid", proposal) 359 return *ret0, err 360 } 361 362 // ProposalUuid is a free data retrieval call binding the contract method 0xcaef1d5a. 363 // 364 // Solidity: function proposal_uuid(address proposal) constant returns(uint256) 365 func (_TreasuryV2 *TreasuryV2Session) ProposalUuid(proposal common.Address) (*big.Int, error) { 366 return _TreasuryV2.Contract.ProposalUuid(&_TreasuryV2.CallOpts, proposal) 367 } 368 369 // ProposalUuid is a free data retrieval call binding the contract method 0xcaef1d5a. 370 // 371 // Solidity: function proposal_uuid(address proposal) constant returns(uint256) 372 func (_TreasuryV2 *TreasuryV2CallerSession) ProposalUuid(proposal common.Address) (*big.Int, error) { 373 return _TreasuryV2.Contract.ProposalUuid(&_TreasuryV2.CallOpts, proposal) 374 } 375 376 // Proxy is a free data retrieval call binding the contract method 0xec556889. 377 // 378 // Solidity: function proxy() constant returns(address) 379 func (_TreasuryV2 *TreasuryV2Caller) Proxy(opts *bind.CallOpts) (common.Address, error) { 380 var ( 381 ret0 = new(common.Address) 382 ) 383 out := ret0 384 err := _TreasuryV2.contract.Call(opts, out, "proxy") 385 return *ret0, err 386 } 387 388 // Proxy is a free data retrieval call binding the contract method 0xec556889. 389 // 390 // Solidity: function proxy() constant returns(address) 391 func (_TreasuryV2 *TreasuryV2Session) Proxy() (common.Address, error) { 392 return _TreasuryV2.Contract.Proxy(&_TreasuryV2.CallOpts) 393 } 394 395 // Proxy is a free data retrieval call binding the contract method 0xec556889. 396 // 397 // Solidity: function proxy() constant returns(address) 398 func (_TreasuryV2 *TreasuryV2CallerSession) Proxy() (common.Address, error) { 399 return _TreasuryV2.Contract.Proxy(&_TreasuryV2.CallOpts) 400 } 401 402 // SuperblockCycle is a free data retrieval call binding the contract method 0x0ef34745. 403 // 404 // Solidity: function superblock_cycle() constant returns(uint256) 405 func (_TreasuryV2 *TreasuryV2Caller) SuperblockCycle(opts *bind.CallOpts) (*big.Int, error) { 406 var ( 407 ret0 = new(*big.Int) 408 ) 409 out := ret0 410 err := _TreasuryV2.contract.Call(opts, out, "superblock_cycle") 411 return *ret0, err 412 } 413 414 // SuperblockCycle is a free data retrieval call binding the contract method 0x0ef34745. 415 // 416 // Solidity: function superblock_cycle() constant returns(uint256) 417 func (_TreasuryV2 *TreasuryV2Session) SuperblockCycle() (*big.Int, error) { 418 return _TreasuryV2.Contract.SuperblockCycle(&_TreasuryV2.CallOpts) 419 } 420 421 // SuperblockCycle is a free data retrieval call binding the contract method 0x0ef34745. 422 // 423 // Solidity: function superblock_cycle() constant returns(uint256) 424 func (_TreasuryV2 *TreasuryV2CallerSession) SuperblockCycle() (*big.Int, error) { 425 return _TreasuryV2.Contract.SuperblockCycle(&_TreasuryV2.CallOpts) 426 } 427 428 // UuidProposal is a free data retrieval call binding the contract method 0x5c099215. 429 // 430 // Solidity: function uuid_proposal(uint256 _ref_uuid) constant returns(address) 431 func (_TreasuryV2 *TreasuryV2Caller) UuidProposal(opts *bind.CallOpts, _ref_uuid *big.Int) (common.Address, error) { 432 var ( 433 ret0 = new(common.Address) 434 ) 435 out := ret0 436 err := _TreasuryV2.contract.Call(opts, out, "uuid_proposal", _ref_uuid) 437 return *ret0, err 438 } 439 440 // UuidProposal is a free data retrieval call binding the contract method 0x5c099215. 441 // 442 // Solidity: function uuid_proposal(uint256 _ref_uuid) constant returns(address) 443 func (_TreasuryV2 *TreasuryV2Session) UuidProposal(_ref_uuid *big.Int) (common.Address, error) { 444 return _TreasuryV2.Contract.UuidProposal(&_TreasuryV2.CallOpts, _ref_uuid) 445 } 446 447 // UuidProposal is a free data retrieval call binding the contract method 0x5c099215. 448 // 449 // Solidity: function uuid_proposal(uint256 _ref_uuid) constant returns(address) 450 func (_TreasuryV2 *TreasuryV2CallerSession) UuidProposal(_ref_uuid *big.Int) (common.Address, error) { 451 return _TreasuryV2.Contract.UuidProposal(&_TreasuryV2.CallOpts, _ref_uuid) 452 } 453 454 // V1storage is a free data retrieval call binding the contract method 0x2d059305. 455 // 456 // Solidity: function v1storage() constant returns(address) 457 func (_TreasuryV2 *TreasuryV2Caller) V1storage(opts *bind.CallOpts) (common.Address, error) { 458 var ( 459 ret0 = new(common.Address) 460 ) 461 out := ret0 462 err := _TreasuryV2.contract.Call(opts, out, "v1storage") 463 return *ret0, err 464 } 465 466 // V1storage is a free data retrieval call binding the contract method 0x2d059305. 467 // 468 // Solidity: function v1storage() constant returns(address) 469 func (_TreasuryV2 *TreasuryV2Session) V1storage() (common.Address, error) { 470 return _TreasuryV2.Contract.V1storage(&_TreasuryV2.CallOpts) 471 } 472 473 // V1storage is a free data retrieval call binding the contract method 0x2d059305. 474 // 475 // Solidity: function v1storage() constant returns(address) 476 func (_TreasuryV2 *TreasuryV2CallerSession) V1storage() (common.Address, error) { 477 return _TreasuryV2.Contract.V1storage(&_TreasuryV2.CallOpts) 478 } 479 480 // Contribute is a paid mutator transaction binding the contract method 0xd7bb99ba. 481 // 482 // Solidity: function contribute() returns() 483 func (_TreasuryV2 *TreasuryV2Transactor) Contribute(opts *bind.TransactOpts) (*types.Transaction, error) { 484 return _TreasuryV2.contract.Transact(opts, "contribute") 485 } 486 487 // Contribute is a paid mutator transaction binding the contract method 0xd7bb99ba. 488 // 489 // Solidity: function contribute() returns() 490 func (_TreasuryV2 *TreasuryV2Session) Contribute() (*types.Transaction, error) { 491 return _TreasuryV2.Contract.Contribute(&_TreasuryV2.TransactOpts) 492 } 493 494 // Contribute is a paid mutator transaction binding the contract method 0xd7bb99ba. 495 // 496 // Solidity: function contribute() returns() 497 func (_TreasuryV2 *TreasuryV2TransactorSession) Contribute() (*types.Transaction, error) { 498 return _TreasuryV2.Contract.Contribute(&_TreasuryV2.TransactOpts) 499 } 500 501 // Destroy is a paid mutator transaction binding the contract method 0x00f55d9d. 502 // 503 // Solidity: function destroy(address _newImpl) returns() 504 func (_TreasuryV2 *TreasuryV2Transactor) Destroy(opts *bind.TransactOpts, _newImpl common.Address) (*types.Transaction, error) { 505 return _TreasuryV2.contract.Transact(opts, "destroy", _newImpl) 506 } 507 508 // Destroy is a paid mutator transaction binding the contract method 0x00f55d9d. 509 // 510 // Solidity: function destroy(address _newImpl) returns() 511 func (_TreasuryV2 *TreasuryV2Session) Destroy(_newImpl common.Address) (*types.Transaction, error) { 512 return _TreasuryV2.Contract.Destroy(&_TreasuryV2.TransactOpts, _newImpl) 513 } 514 515 // Destroy is a paid mutator transaction binding the contract method 0x00f55d9d. 516 // 517 // Solidity: function destroy(address _newImpl) returns() 518 func (_TreasuryV2 *TreasuryV2TransactorSession) Destroy(_newImpl common.Address) (*types.Transaction, error) { 519 return _TreasuryV2.Contract.Destroy(&_TreasuryV2.TransactOpts, _newImpl) 520 } 521 522 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 523 // 524 // Solidity: function migrate(address _oldImpl) returns() 525 func (_TreasuryV2 *TreasuryV2Transactor) Migrate(opts *bind.TransactOpts, _oldImpl common.Address) (*types.Transaction, error) { 526 return _TreasuryV2.contract.Transact(opts, "migrate", _oldImpl) 527 } 528 529 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 530 // 531 // Solidity: function migrate(address _oldImpl) returns() 532 func (_TreasuryV2 *TreasuryV2Session) Migrate(_oldImpl common.Address) (*types.Transaction, error) { 533 return _TreasuryV2.Contract.Migrate(&_TreasuryV2.TransactOpts, _oldImpl) 534 } 535 536 // Migrate is a paid mutator transaction binding the contract method 0xce5494bb. 537 // 538 // Solidity: function migrate(address _oldImpl) returns() 539 func (_TreasuryV2 *TreasuryV2TransactorSession) Migrate(_oldImpl common.Address) (*types.Transaction, error) { 540 return _TreasuryV2.Contract.Migrate(&_TreasuryV2.TransactOpts, _oldImpl) 541 } 542 543 // Propose is a paid mutator transaction binding the contract method 0x40376d56. 544 // 545 // Solidity: function propose(uint256 _amount, uint256 _ref_uuid, uint256 _period) returns(address proposal) 546 func (_TreasuryV2 *TreasuryV2Transactor) Propose(opts *bind.TransactOpts, _amount *big.Int, _ref_uuid *big.Int, _period *big.Int) (*types.Transaction, error) { 547 return _TreasuryV2.contract.Transact(opts, "propose", _amount, _ref_uuid, _period) 548 } 549 550 // Propose is a paid mutator transaction binding the contract method 0x40376d56. 551 // 552 // Solidity: function propose(uint256 _amount, uint256 _ref_uuid, uint256 _period) returns(address proposal) 553 func (_TreasuryV2 *TreasuryV2Session) Propose(_amount *big.Int, _ref_uuid *big.Int, _period *big.Int) (*types.Transaction, error) { 554 return _TreasuryV2.Contract.Propose(&_TreasuryV2.TransactOpts, _amount, _ref_uuid, _period) 555 } 556 557 // Propose is a paid mutator transaction binding the contract method 0x40376d56. 558 // 559 // Solidity: function propose(uint256 _amount, uint256 _ref_uuid, uint256 _period) returns(address proposal) 560 func (_TreasuryV2 *TreasuryV2TransactorSession) Propose(_amount *big.Int, _ref_uuid *big.Int, _period *big.Int) (*types.Transaction, error) { 561 return _TreasuryV2.Contract.Propose(&_TreasuryV2.TransactOpts, _amount, _ref_uuid, _period) 562 } 563 564 // Reward is a paid mutator transaction binding the contract method 0x228cb733. 565 // 566 // Solidity: function reward() returns() 567 func (_TreasuryV2 *TreasuryV2Transactor) Reward(opts *bind.TransactOpts) (*types.Transaction, error) { 568 return _TreasuryV2.contract.Transact(opts, "reward") 569 } 570 571 // Reward is a paid mutator transaction binding the contract method 0x228cb733. 572 // 573 // Solidity: function reward() returns() 574 func (_TreasuryV2 *TreasuryV2Session) Reward() (*types.Transaction, error) { 575 return _TreasuryV2.Contract.Reward(&_TreasuryV2.TransactOpts) 576 } 577 578 // Reward is a paid mutator transaction binding the contract method 0x228cb733. 579 // 580 // Solidity: function reward() returns() 581 func (_TreasuryV2 *TreasuryV2TransactorSession) Reward() (*types.Transaction, error) { 582 return _TreasuryV2.Contract.Reward(&_TreasuryV2.TransactOpts) 583 } 584 585 // TreasuryV2BudgetProposalIterator is returned from FilterBudgetProposal and is used to iterate over the raw logs and unpacked data for BudgetProposal events raised by the TreasuryV2 contract. 586 type TreasuryV2BudgetProposalIterator struct { 587 Event *TreasuryV2BudgetProposal // Event containing the contract specifics and raw log 588 589 contract *bind.BoundContract // Generic contract to use for unpacking event data 590 event string // Event name to use for unpacking event data 591 592 logs chan types.Log // Log channel receiving the found contract events 593 sub ethereum.Subscription // Subscription for errors, completion and termination 594 done bool // Whether the subscription completed delivering logs 595 fail error // Occurred error to stop iteration 596 } 597 598 // Next advances the iterator to the subsequent event, returning whether there 599 // are any more events found. In case of a retrieval or parsing error, false is 600 // returned and Error() can be queried for the exact failure. 601 func (it *TreasuryV2BudgetProposalIterator) Next() bool { 602 // If the iterator failed, stop iterating 603 if it.fail != nil { 604 return false 605 } 606 // If the iterator completed, deliver directly whatever's available 607 if it.done { 608 select { 609 case log := <-it.logs: 610 it.Event = new(TreasuryV2BudgetProposal) 611 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 612 it.fail = err 613 return false 614 } 615 it.Event.Raw = log 616 return true 617 618 default: 619 return false 620 } 621 } 622 // Iterator still in progress, wait for either a data or an error event 623 select { 624 case log := <-it.logs: 625 it.Event = new(TreasuryV2BudgetProposal) 626 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 627 it.fail = err 628 return false 629 } 630 it.Event.Raw = log 631 return true 632 633 case err := <-it.sub.Err(): 634 it.done = true 635 it.fail = err 636 return it.Next() 637 } 638 } 639 640 // Error returns any retrieval or parsing error occurred during filtering. 641 func (it *TreasuryV2BudgetProposalIterator) Error() error { 642 return it.fail 643 } 644 645 // Close terminates the iteration process, releasing any pending underlying 646 // resources. 647 func (it *TreasuryV2BudgetProposalIterator) Close() error { 648 it.sub.Unsubscribe() 649 return nil 650 } 651 652 // TreasuryV2BudgetProposal represents a BudgetProposal event raised by the TreasuryV2 contract. 653 type TreasuryV2BudgetProposal struct { 654 RefUuid *big.Int 655 Proposal common.Address 656 PayoutAddress common.Address 657 Amount *big.Int 658 Deadline *big.Int 659 Raw types.Log // Blockchain specific contextual infos 660 } 661 662 // FilterBudgetProposal is a free log retrieval operation binding the contract event 0xa94befa3ce181974130fe36e854a282c70fb75e4decb42bfecdecbd6f88f0f5d. 663 // 664 // Solidity: event BudgetProposal(uint256 indexed ref_uuid, address proposal, address payout_address, uint256 amount, uint256 deadline) 665 func (_TreasuryV2 *TreasuryV2Filterer) FilterBudgetProposal(opts *bind.FilterOpts, ref_uuid []*big.Int) (*TreasuryV2BudgetProposalIterator, error) { 666 667 var ref_uuidRule []interface{} 668 for _, ref_uuidItem := range ref_uuid { 669 ref_uuidRule = append(ref_uuidRule, ref_uuidItem) 670 } 671 672 logs, sub, err := _TreasuryV2.contract.FilterLogs(opts, "BudgetProposal", ref_uuidRule) 673 if err != nil { 674 return nil, err 675 } 676 return &TreasuryV2BudgetProposalIterator{contract: _TreasuryV2.contract, event: "BudgetProposal", logs: logs, sub: sub}, nil 677 } 678 679 // WatchBudgetProposal is a free log subscription operation binding the contract event 0xa94befa3ce181974130fe36e854a282c70fb75e4decb42bfecdecbd6f88f0f5d. 680 // 681 // Solidity: event BudgetProposal(uint256 indexed ref_uuid, address proposal, address payout_address, uint256 amount, uint256 deadline) 682 func (_TreasuryV2 *TreasuryV2Filterer) WatchBudgetProposal(opts *bind.WatchOpts, sink chan<- *TreasuryV2BudgetProposal, ref_uuid []*big.Int) (event.Subscription, error) { 683 684 var ref_uuidRule []interface{} 685 for _, ref_uuidItem := range ref_uuid { 686 ref_uuidRule = append(ref_uuidRule, ref_uuidItem) 687 } 688 689 logs, sub, err := _TreasuryV2.contract.WatchLogs(opts, "BudgetProposal", ref_uuidRule) 690 if err != nil { 691 return nil, err 692 } 693 return event.NewSubscription(func(quit <-chan struct{}) error { 694 defer sub.Unsubscribe() 695 for { 696 select { 697 case log := <-logs: 698 // New log arrived, parse the event and forward to the user 699 event := new(TreasuryV2BudgetProposal) 700 if err := _TreasuryV2.contract.UnpackLog(event, "BudgetProposal", log); err != nil { 701 return err 702 } 703 event.Raw = log 704 705 select { 706 case sink <- event: 707 case err := <-sub.Err(): 708 return err 709 case <-quit: 710 return nil 711 } 712 case err := <-sub.Err(): 713 return err 714 case <-quit: 715 return nil 716 } 717 } 718 }), nil 719 } 720 721 // TreasuryV2ContributionIterator is returned from FilterContribution and is used to iterate over the raw logs and unpacked data for Contribution events raised by the TreasuryV2 contract. 722 type TreasuryV2ContributionIterator struct { 723 Event *TreasuryV2Contribution // Event containing the contract specifics and raw log 724 725 contract *bind.BoundContract // Generic contract to use for unpacking event data 726 event string // Event name to use for unpacking event data 727 728 logs chan types.Log // Log channel receiving the found contract events 729 sub ethereum.Subscription // Subscription for errors, completion and termination 730 done bool // Whether the subscription completed delivering logs 731 fail error // Occurred error to stop iteration 732 } 733 734 // Next advances the iterator to the subsequent event, returning whether there 735 // are any more events found. In case of a retrieval or parsing error, false is 736 // returned and Error() can be queried for the exact failure. 737 func (it *TreasuryV2ContributionIterator) Next() bool { 738 // If the iterator failed, stop iterating 739 if it.fail != nil { 740 return false 741 } 742 // If the iterator completed, deliver directly whatever's available 743 if it.done { 744 select { 745 case log := <-it.logs: 746 it.Event = new(TreasuryV2Contribution) 747 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 748 it.fail = err 749 return false 750 } 751 it.Event.Raw = log 752 return true 753 754 default: 755 return false 756 } 757 } 758 // Iterator still in progress, wait for either a data or an error event 759 select { 760 case log := <-it.logs: 761 it.Event = new(TreasuryV2Contribution) 762 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 763 it.fail = err 764 return false 765 } 766 it.Event.Raw = log 767 return true 768 769 case err := <-it.sub.Err(): 770 it.done = true 771 it.fail = err 772 return it.Next() 773 } 774 } 775 776 // Error returns any retrieval or parsing error occurred during filtering. 777 func (it *TreasuryV2ContributionIterator) Error() error { 778 return it.fail 779 } 780 781 // Close terminates the iteration process, releasing any pending underlying 782 // resources. 783 func (it *TreasuryV2ContributionIterator) Close() error { 784 it.sub.Unsubscribe() 785 return nil 786 } 787 788 // TreasuryV2Contribution represents a Contribution event raised by the TreasuryV2 contract. 789 type TreasuryV2Contribution struct { 790 From common.Address 791 Amount *big.Int 792 Raw types.Log // Blockchain specific contextual infos 793 } 794 795 // FilterContribution is a free log retrieval operation binding the contract event 0x4d154d4aae216bed6d0926db77c00df2b57c6b5ba4eee05775de20facede3a7b. 796 // 797 // Solidity: event Contribution(address from, uint256 amount) 798 func (_TreasuryV2 *TreasuryV2Filterer) FilterContribution(opts *bind.FilterOpts) (*TreasuryV2ContributionIterator, error) { 799 800 logs, sub, err := _TreasuryV2.contract.FilterLogs(opts, "Contribution") 801 if err != nil { 802 return nil, err 803 } 804 return &TreasuryV2ContributionIterator{contract: _TreasuryV2.contract, event: "Contribution", logs: logs, sub: sub}, nil 805 } 806 807 // WatchContribution is a free log subscription operation binding the contract event 0x4d154d4aae216bed6d0926db77c00df2b57c6b5ba4eee05775de20facede3a7b. 808 // 809 // Solidity: event Contribution(address from, uint256 amount) 810 func (_TreasuryV2 *TreasuryV2Filterer) WatchContribution(opts *bind.WatchOpts, sink chan<- *TreasuryV2Contribution) (event.Subscription, error) { 811 812 logs, sub, err := _TreasuryV2.contract.WatchLogs(opts, "Contribution") 813 if err != nil { 814 return nil, err 815 } 816 return event.NewSubscription(func(quit <-chan struct{}) error { 817 defer sub.Unsubscribe() 818 for { 819 select { 820 case log := <-logs: 821 // New log arrived, parse the event and forward to the user 822 event := new(TreasuryV2Contribution) 823 if err := _TreasuryV2.contract.UnpackLog(event, "Contribution", log); err != nil { 824 return err 825 } 826 event.Raw = log 827 828 select { 829 case sink <- event: 830 case err := <-sub.Err(): 831 return err 832 case <-quit: 833 return nil 834 } 835 case err := <-sub.Err(): 836 return err 837 case <-quit: 838 return nil 839 } 840 } 841 }), nil 842 } 843 844 // TreasuryV2PayoutIterator is returned from FilterPayout and is used to iterate over the raw logs and unpacked data for Payout events raised by the TreasuryV2 contract. 845 type TreasuryV2PayoutIterator struct { 846 Event *TreasuryV2Payout // Event containing the contract specifics and raw log 847 848 contract *bind.BoundContract // Generic contract to use for unpacking event data 849 event string // Event name to use for unpacking event data 850 851 logs chan types.Log // Log channel receiving the found contract events 852 sub ethereum.Subscription // Subscription for errors, completion and termination 853 done bool // Whether the subscription completed delivering logs 854 fail error // Occurred error to stop iteration 855 } 856 857 // Next advances the iterator to the subsequent event, returning whether there 858 // are any more events found. In case of a retrieval or parsing error, false is 859 // returned and Error() can be queried for the exact failure. 860 func (it *TreasuryV2PayoutIterator) Next() bool { 861 // If the iterator failed, stop iterating 862 if it.fail != nil { 863 return false 864 } 865 // If the iterator completed, deliver directly whatever's available 866 if it.done { 867 select { 868 case log := <-it.logs: 869 it.Event = new(TreasuryV2Payout) 870 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 871 it.fail = err 872 return false 873 } 874 it.Event.Raw = log 875 return true 876 877 default: 878 return false 879 } 880 } 881 // Iterator still in progress, wait for either a data or an error event 882 select { 883 case log := <-it.logs: 884 it.Event = new(TreasuryV2Payout) 885 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 886 it.fail = err 887 return false 888 } 889 it.Event.Raw = log 890 return true 891 892 case err := <-it.sub.Err(): 893 it.done = true 894 it.fail = err 895 return it.Next() 896 } 897 } 898 899 // Error returns any retrieval or parsing error occurred during filtering. 900 func (it *TreasuryV2PayoutIterator) Error() error { 901 return it.fail 902 } 903 904 // Close terminates the iteration process, releasing any pending underlying 905 // resources. 906 func (it *TreasuryV2PayoutIterator) Close() error { 907 it.sub.Unsubscribe() 908 return nil 909 } 910 911 // TreasuryV2Payout represents a Payout event raised by the TreasuryV2 contract. 912 type TreasuryV2Payout struct { 913 RefUuid *big.Int 914 Proposal common.Address 915 Amount *big.Int 916 Raw types.Log // Blockchain specific contextual infos 917 } 918 919 // FilterPayout is a free log retrieval operation binding the contract event 0x5f7341a552ae2d452b071917104c05fbac3663936a69be768a05c40605056e7d. 920 // 921 // Solidity: event Payout(uint256 indexed ref_uuid, address proposal, uint256 amount) 922 func (_TreasuryV2 *TreasuryV2Filterer) FilterPayout(opts *bind.FilterOpts, ref_uuid []*big.Int) (*TreasuryV2PayoutIterator, error) { 923 924 var ref_uuidRule []interface{} 925 for _, ref_uuidItem := range ref_uuid { 926 ref_uuidRule = append(ref_uuidRule, ref_uuidItem) 927 } 928 929 logs, sub, err := _TreasuryV2.contract.FilterLogs(opts, "Payout", ref_uuidRule) 930 if err != nil { 931 return nil, err 932 } 933 return &TreasuryV2PayoutIterator{contract: _TreasuryV2.contract, event: "Payout", logs: logs, sub: sub}, nil 934 } 935 936 // WatchPayout is a free log subscription operation binding the contract event 0x5f7341a552ae2d452b071917104c05fbac3663936a69be768a05c40605056e7d. 937 // 938 // Solidity: event Payout(uint256 indexed ref_uuid, address proposal, uint256 amount) 939 func (_TreasuryV2 *TreasuryV2Filterer) WatchPayout(opts *bind.WatchOpts, sink chan<- *TreasuryV2Payout, ref_uuid []*big.Int) (event.Subscription, error) { 940 941 var ref_uuidRule []interface{} 942 for _, ref_uuidItem := range ref_uuid { 943 ref_uuidRule = append(ref_uuidRule, ref_uuidItem) 944 } 945 946 logs, sub, err := _TreasuryV2.contract.WatchLogs(opts, "Payout", ref_uuidRule) 947 if err != nil { 948 return nil, err 949 } 950 return event.NewSubscription(func(quit <-chan struct{}) error { 951 defer sub.Unsubscribe() 952 for { 953 select { 954 case log := <-logs: 955 // New log arrived, parse the event and forward to the user 956 event := new(TreasuryV2Payout) 957 if err := _TreasuryV2.contract.UnpackLog(event, "Payout", log); err != nil { 958 return err 959 } 960 event.Raw = log 961 962 select { 963 case sink <- event: 964 case err := <-sub.Err(): 965 return err 966 case <-quit: 967 return nil 968 } 969 case err := <-sub.Err(): 970 return err 971 case <-quit: 972 return nil 973 } 974 } 975 }), nil 976 }