github.com/bigzoro/my_simplechain@v0.0.0-20240315012955-8ad0a2a29bb9/permission/permission.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 permission 5 6 import ( 7 "errors" 8 "math/big" 9 "strings" 10 11 ethereum "github.com/bigzoro/my_simplechain" 12 "github.com/bigzoro/my_simplechain/accounts/abi" 13 "github.com/bigzoro/my_simplechain/accounts/abi/bind" 14 "github.com/bigzoro/my_simplechain/common" 15 "github.com/bigzoro/my_simplechain/core/types" 16 "github.com/bigzoro/my_simplechain/event" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var ( 21 _ = errors.New 22 _ = big.NewInt 23 _ = strings.NewReader 24 _ = ethereum.NotFound 25 _ = bind.Bind 26 _ = common.Big1 27 _ = types.BloomLookup 28 _ = event.NewSubscription 29 ) 30 31 // PermissionMetaData contains all meta data concerning the Permission contract. 32 var PermissionMetaData = &bind.MetaData{ 33 ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"enodeId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"ip\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"port\",\"type\":\"string\"}],\"name\":\"AddNewNodeNotify\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"enodeId\",\"type\":\"string\"}],\"name\":\"ApplyByAdminNotify\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"enodeId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"opCode\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"ip\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"port\",\"type\":\"string\"}],\"name\":\"VerifyNotify\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"isAdminRoleEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_opCode\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_voterNodeId\",\"type\":\"string\"}],\"name\":\"isVotedEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"networkInitComplete\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_voterNodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_opCode\",\"type\":\"string\"}],\"name\":\"disagree\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"}],\"name\":\"exit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAdminCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllStatingRecord\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeName\",\"type\":\"string\"}],\"name\":\"getInfoByName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_opCode\",\"type\":\"string\"}],\"name\":\"getLastStatistics\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_role\",\"type\":\"uint256\"}],\"name\":\"getNodeByRole\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"}],\"name\":\"getNodeMap\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOriginators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initFinish\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nodeHash\",\"type\":\"bytes32\"}],\"name\":\"isAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitFinished\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_ip\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_port\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"nodeName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_nodeAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_proposeNodeId\",\"type\":\"string\"}],\"name\":\"makeProposeForAddNewNode\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_opCode\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_voterNodeId\",\"type\":\"string\"}],\"name\":\"makeProposeForRoleChange\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"}],\"name\":\"nodeExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_ip\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_port\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_nodeName\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_nodeAddress\",\"type\":\"address\"}],\"name\":\"setAdminNode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_ip\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_port\",\"type\":\"string\"}],\"name\":\"updateNodeInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_nodeName\",\"type\":\"string\"}],\"name\":\"updateNodeName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_voterNodeId\",\"type\":\"string\"}],\"name\":\"voteForNewNodeApply\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_voterNodeId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_opCode\",\"type\":\"string\"}],\"name\":\"voteForRoleChange\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", 34 Sigs: map[string]string{ 35 "2d0207f8": "disagree(string,string,string)", 36 "e7fb5388": "exit(string)", 37 "8b7bf3eb": "getAdminCount()", 38 "24781773": "getAllStatingRecord()", 39 "c88120d6": "getInfoByName(string)", 40 "89e93d71": "getLastStatistics(string,string)", 41 "d5eda3b1": "getNodeByRole(uint256)", 42 "6fdde422": "getNodeMap(string)", 43 "edbfe56d": "getOriginators()", 44 "99439b69": "initFinish()", 45 "72d14480": "isAdmin(bytes32)", 46 "a247e4dd": "isInitFinished()", 47 "05247ce6": "makeProposeForAddNewNode(string,string,string,string,address,string)", 48 "2566dfb0": "makeProposeForRoleChange(string,string,string)", 49 "1b128f61": "nodeExists(string)", 50 "bbe25f2c": "setAdminNode(string,string,string,string,address)", 51 "69c0fc6b": "updateNodeInfo(string,string,string)", 52 "1cd0b206": "updateNodeName(string,string)", 53 "f4812238": "voteForNewNodeApply(string,string)", 54 "66aa2299": "voteForRoleChange(string,string,string)", 55 }, 56 Bin: "0x60806040526000805460ff1916905534801561001a57600080fd5b50616d41806200002b6000396000f3fe60806040526004361061011f5760003560e01c806389e93d71116100a0578063c88120d611610064578063c88120d6146114b5578063d5eda3b114611566578063e7fb538814611590578063edbfe56d14611641578063f4812238146116a65761011f565b806389e93d7114610ff05780638b7bf3eb1461121957806399439b6914611240578063a247e4dd14611255578063bbe25f2c1461126a5761011f565b80632d0207f8116100e75780632d0207f81461082257806366aa2299146109d057806369c0fc6b14610b7e5780636fdde42214610d3957806372d1448014610fc65761011f565b806305247ce6146101245780631b128f61146103ef5780631cd0b206146104b457806324781773146105ea5780632566dfb014610674575b600080fd5b6103ed600480360360c081101561013a57600080fd5b810190602081018135600160201b81111561015457600080fd5b82018360208201111561016657600080fd5b803590602001918460018302840111600160201b8311171561018757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156101d957600080fd5b8201836020820111156101eb57600080fd5b803590602001918460018302840111600160201b8311171561020c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561025e57600080fd5b82018360208201111561027057600080fd5b803590602001918460018302840111600160201b8311171561029157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156102e357600080fd5b8201836020820111156102f557600080fd5b803590602001918460018302840111600160201b8311171561031657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092956001600160a01b03853516959094909350604081019250602001359050600160201b81111561037957600080fd5b82018360208201111561038b57600080fd5b803590602001918460018302840111600160201b831117156103ac57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506117cf945050505050565b005b3480156103fb57600080fd5b506104a06004803603602081101561041257600080fd5b810190602081018135600160201b81111561042c57600080fd5b82018360208201111561043e57600080fd5b803590602001918460018302840111600160201b8311171561045f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611b04945050505050565b604080519115158252519081900360200190f35b3480156104c057600080fd5b506103ed600480360360408110156104d757600080fd5b810190602081018135600160201b8111156104f157600080fd5b82018360208201111561050357600080fd5b803590602001918460018302840111600160201b8311171561052457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561057657600080fd5b82018360208201111561058857600080fd5b803590602001918460018302840111600160201b831117156105a957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611de3945050505050565b3480156105f657600080fd5b506105ff6121fe565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610639578181015183820152602001610621565b50505050905090810190601f1680156106665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ed6004803603606081101561068a57600080fd5b810190602081018135600160201b8111156106a457600080fd5b8201836020820111156106b657600080fd5b803590602001918460018302840111600160201b831117156106d757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561072957600080fd5b82018360208201111561073b57600080fd5b803590602001918460018302840111600160201b8311171561075c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156107ae57600080fd5b8201836020820111156107c057600080fd5b803590602001918460018302840111600160201b831117156107e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612333945050505050565b6103ed6004803603606081101561083857600080fd5b810190602081018135600160201b81111561085257600080fd5b82018360208201111561086457600080fd5b803590602001918460018302840111600160201b8311171561088557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156108d757600080fd5b8201836020820111156108e957600080fd5b803590602001918460018302840111600160201b8311171561090a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561095c57600080fd5b82018360208201111561096e57600080fd5b803590602001918460018302840111600160201b8311171561098f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061291d945050505050565b6103ed600480360360608110156109e657600080fd5b810190602081018135600160201b811115610a0057600080fd5b820183602082011115610a1257600080fd5b803590602001918460018302840111600160201b83111715610a3357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610a8557600080fd5b820183602082011115610a9757600080fd5b803590602001918460018302840111600160201b83111715610ab857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610b0a57600080fd5b820183602082011115610b1c57600080fd5b803590602001918460018302840111600160201b83111715610b3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612d2b945050505050565b348015610b8a57600080fd5b506103ed60048036036060811015610ba157600080fd5b810190602081018135600160201b811115610bbb57600080fd5b820183602082011115610bcd57600080fd5b803590602001918460018302840111600160201b83111715610bee57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610c4057600080fd5b820183602082011115610c5257600080fd5b803590602001918460018302840111600160201b83111715610c7357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610cc557600080fd5b820183602082011115610cd757600080fd5b803590602001918460018302840111600160201b83111715610cf857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506138a7945050505050565b348015610d4557600080fd5b50610dea60048036036020811015610d5c57600080fd5b810190602081018135600160201b811115610d7657600080fd5b820183602082011115610d8857600080fd5b803590602001918460018302840111600160201b83111715610da957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613cc5945050505050565b6040518080602001806020018060200180602001896001600160a01b03166001600160a01b031681526020018881526020018715151515815260200186815260200185810385528d818151815260200191508051906020019080838360005b83811015610e61578181015183820152602001610e49565b50505050905090810190601f168015610e8e5780820380516001836020036101000a031916815260200191505b5085810384528c5181528c516020918201918e019080838360005b83811015610ec1578181015183820152602001610ea9565b50505050905090810190601f168015610eee5780820380516001836020036101000a031916815260200191505b5085810383528b5181528b516020918201918d019080838360005b83811015610f21578181015183820152602001610f09565b50505050905090810190601f168015610f4e5780820380516001836020036101000a031916815260200191505b5085810382528a5181528a516020918201918c019080838360005b83811015610f81578181015183820152602001610f69565b50505050905090810190601f168015610fae5780820380516001836020036101000a031916815260200191505b509c5050505050505050505050505060405180910390f35b348015610fd257600080fd5b506104a060048036036020811015610fe957600080fd5b5035614022565b348015610ffc57600080fd5b506111266004803603604081101561101357600080fd5b810190602081018135600160201b81111561102d57600080fd5b82018360208201111561103f57600080fd5b803590602001918460018302840111600160201b8311171561106057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156110b257600080fd5b8201836020820111156110c457600080fd5b803590602001918460018302840111600160201b831117156110e557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550614060945050505050565b604051808681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015611179578181015183820152602001611161565b50505050905090810190601f1680156111a65780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156111d95781810151838201526020016111c1565b50505050905090810190601f1680156112065780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561122557600080fd5b5061122e6142cd565b60408051918252519081900360200190f35b34801561124c57600080fd5b506103ed6142d3565b34801561126157600080fd5b506104a0614367565b34801561127657600080fd5b506103ed600480360360a081101561128d57600080fd5b810190602081018135600160201b8111156112a757600080fd5b8201836020820111156112b957600080fd5b803590602001918460018302840111600160201b831117156112da57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561132c57600080fd5b82018360208201111561133e57600080fd5b803590602001918460018302840111600160201b8311171561135f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156113b157600080fd5b8201836020820111156113c357600080fd5b803590602001918460018302840111600160201b831117156113e457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561143657600080fd5b82018360208201111561144857600080fd5b803590602001918460018302840111600160201b8311171561146957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b031691506143709050565b3480156114c157600080fd5b50610dea600480360360208110156114d857600080fd5b810190602081018135600160201b8111156114f257600080fd5b82018360208201111561150457600080fd5b803590602001918460018302840111600160201b8311171561152557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061473b945050505050565b34801561157257600080fd5b506105ff6004803603602081101561158957600080fd5b5035614ba0565b34801561159c57600080fd5b506103ed600480360360208110156115b357600080fd5b810190602081018135600160201b8111156115cd57600080fd5b8201836020820111156115df57600080fd5b803590602001918460018302840111600160201b8311171561160057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550614cdb945050505050565b34801561164d57600080fd5b5061165661520f565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561169257818101518382015260200161167a565b505050509050019250505060405180910390f35b6103ed600480360360408110156116bc57600080fd5b810190602081018135600160201b8111156116d657600080fd5b8201836020820111156116e857600080fd5b803590602001918460018302840111600160201b8311171561170957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561175b57600080fd5b82018360208201111561176d57600080fd5b803590602001918460018302840111600160201b8311171561178e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550615271945050505050565b60005460ff166118105760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b600061183587604051806040016040528060018152602001600360fc1b815250615720565b9050600061184288615743565b60008181526002602052604090206007015490915060ff16156118a1576040805162461bcd60e51b81526020600482015260126024820152711d11505cf0573cb6f65cf771fcb5b31cb39560731b604482015290519081900360640190fd5b6118a9616a64565b506040805160e081018252600180825260208083018c81526000848601819052606085018190526080850189905285518087018752848152600360fc1b8185015260a086015260c0850181905287815260068352949094208351815460ff19169015151781559351805193948594909361192893908501920190616aa3565b50604082015160028201556060820151600382015560808201518051611958916004840191602090910190616aa3565b5060a08201518051611974916005840191602090910190616aa3565b5060c08201518160060155905050611992898989898960018861574e565b7f6038668b2430850a4f25a86d399648514d6cde42bca6b534937d6c78193fc28789898960405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156119fb5781810151838201526020016119e3565b50505050905090810190601f168015611a285780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015611a5b578181015183820152602001611a43565b50505050905090810190601f168015611a885780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015611abb578181015183820152602001611aa3565b50505050905090810190601f168015611ae85780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1505050505050505050565b600080611b1083615743565b9050611b1a616b21565b60008281526002602081815260409283902083518154610140601f6000196101006001851615020190921695909504908101849004909302810184019094526101208401828152909284928491840182828015611bb85780601f10611b8d57610100808354040283529160200191611bb8565b820191906000526020600020905b815481529060010190602001808311611b9b57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c5a5780601f10611c2f57610100808354040283529160200191611c5a565b820191906000526020600020905b815481529060010190602001808311611c3d57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015611cec5780601f10611cc157610100808354040283529160200191611cec565b820191906000526020600020905b815481529060010190602001808311611ccf57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015611d805780601f10611d5557610100808354040283529160200191611d80565b820191906000526020600020905b815481529060010190602001808311611d6357829003601f168201915b505050918352505060048201546001600160a01b038116602083015260ff600160a01b9091048116151560408301526005830154606083015260068301546080830152600790920154909116151560a0909101526101000151925050505b919050565b6000611dee83615743565b9050611df8616b21565b60008281526002602081815260409283902083518154610140601f6000196101006001851615020190921695909504908101849004909302810184019094526101208401828152909284928491840182828015611e965780601f10611e6b57610100808354040283529160200191611e96565b820191906000526020600020905b815481529060010190602001808311611e7957829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f385780601f10611f0d57610100808354040283529160200191611f38565b820191906000526020600020905b815481529060010190602001808311611f1b57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015611fca5780601f10611f9f57610100808354040283529160200191611fca565b820191906000526020600020905b815481529060010190602001808311611fad57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815293820193929183018282801561205e5780601f106120335761010080835404028352916020019161205e565b820191906000526020600020905b81548152906001019060200180831161204157829003601f168201915b505050918352505060048201546001600160a01b03808216602084015260ff600160a01b909204821615156040840152600584015460608401526006840154608080850191909152600790940154909116151560a09092019190915290820151919250163314612107576040805162461bcd60e51b815260206004820152600f60248201526ee8b4a6e58fb7e4b88de58cb9e9858d60881b604482015290519081900360640190fd5b606081018390526000828152600260209081526040909120825180518493612133928492910190616aa3565b50602082810151805161214c9260018501920190616aa3565b5060408201518051612168916002840191602090910190616aa3565b5060608201518051612184916003840191602090910190616aa3565b50608082015160048201805460a08501516001600160a01b03199091166001600160a01b039093169290921760ff60a01b1916600160a01b9215159290920291909117905560c0820151600582015560e08201516006820155610100909101516007909101805460ff191691151591909117905550505050565b60408051602081019091526000808252606091905b60045481101561232c5760006122c76004838154811061222f57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156122bd5780601f10612292576101008083540402835291602001916122bd565b820191906000526020600020905b8154815290600101906020018083116122a057829003601f168201915b5050505050615743565b905060606122d4826158ae565b90506122ef8160405180602001604052806000815250615ae7565b6123225761231f8461231a604051806040016040528060018152602001600b60fa1b81525084615c04565b615c04565b93505b5050600101612213565b5090505b90565b60005460ff166123745760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b61237e8133615cfb565b6123c8576040805162461bcd60e51b815260206004820152601660248201527574686520726f6c65206973206e6f742061646d696e2160501b604482015290519081900360640190fd5b6123eb82604051806040016040528060018152602001603160f81b815250615ae7565b80612414575061241482604051806040016040528060018152602001603360f81b815250615ae7565b1561273e57600061242484615743565b905061242e616b21565b60008281526002602081815260409283902083518154610140601f60001961010060018516150201909216959095049081018490049093028101840190945261012084018281529092849284918401828280156124cc5780601f106124a1576101008083540402835291602001916124cc565b820191906000526020600020905b8154815290600101906020018083116124af57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561256e5780601f106125435761010080835404028352916020019161256e565b820191906000526020600020905b81548152906001019060200180831161255157829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845293810193908301828280156126005780601f106125d557610100808354040283529160200191612600565b820191906000526020600020905b8154815290600101906020018083116125e357829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156126945780601f1061266957610100808354040283529160200191612694565b820191906000526020600020905b81548152906001019060200180831161267757829003601f168201915b505050918352505060048201546001600160a01b038116602083015260ff600160a01b9091048116151560408301526005830154606083015260068301546080830152600790920154909116151560a0918201528101519091501561273b576040805162461bcd60e51b8152602060048201526018602482015277725c5df4454173c15cf25c46f2c2c0f4575c74c04072c3dd60411b604482015290519081900360640190fd5b50505b6127488383615d49565b612788576040805162461bcd60e51b815260206004820152600c60248201526be794b3e8afb7e5a4b1e8b4a560a01b604482015290519081900360640190fd5b60006127948484615720565b905061279e616a64565b506040805160e081018252600180825260208083018881526000848601819052606085018190526080850188905260a0850189905260c0850181905286815260068352949094208351815460ff19169015151781559351805193948594909361280c93908501920190616aa3565b5060408201516002820155606082015160038201556080820151805161283c916004840191602090910190616aa3565b5060a08201518051612858916005840191602090910190616aa3565b5060c09190910151600690910155600082815260086020526040812061287d91616b7a565b7f5e330ce69c9b3b5247e5759b06dc7fc78e57a2519cf6c6f8e8c70198da7ccc8e856040518080602001828103825283818151815260200191508051906020019080838360005b838110156128dc5781810151838201526020016128c4565b50505050905090810190601f1680156129095780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b60005460ff1661295e5760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b6129688233615cfb565b6129b9576040805162461bcd60e51b815260206004820152601760248201527f74686520726f6c65206d7573742062652061646d696e21000000000000000000604482015290519081900360640190fd5b60006129c58483615720565b90506129cf616a64565b600082815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f8101869004860283018601909652858252919492938581019391929190830182828015612a835780601f10612a5857610100808354040283529160200191612a83565b820191906000526020600020905b815481529060010190602001808311612a6657829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b395780601f10612b0e57610100808354040283529160200191612b39565b820191906000526020600020905b815481529060010190602001808311612b1c57829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015612bcd5780601f10612ba257610100808354040283529160200191612bcd565b820191906000526020600020905b815481529060010190602001808311612bb057829003601f168201915b505050505081526020016006820154815250509050612bee85853386615e7c565b6060810180516001908101918290525460029004108015612c11575060c0810151155b15612c925760018160c0018181525050612c4483604051806040016040528060018152602001600360fc1b815250615ae7565b15612c7b57600060026000612c5888615743565b81526020810191909152604001600020600701805460ff19169115159190911790555b6000828152600860205260408120612c9291616b7a565b60008281526006602090815260409091208251815460ff19169015151781558282015180518493612cca926001850192910190616aa3565b50604082015160028201556060820151600382015560808201518051612cfa916004840191602090910190616aa3565b5060a08201518051612d16916005840191602090910190616aa3565b5060c082015181600601559050505050505050565b60005460ff16612d6c5760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b612d768233615cfb565b612e2e577fb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be82336040518080602001836001600160a01b03166001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015612df2578181015183820152602001612dda565b50505050905090810190601f168015612e1f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15b612e388233615cfb565b612e89576040805162461bcd60e51b815260206004820152601a60248201527f74686520726f6c65206973206d7573742062652061646d696e21000000000000604482015290519081900360640190fd5b612e94838284615f78565b15613001577fe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d48583828460405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015612f02578181015183820152602001612eea565b50505050905090810190601f168015612f2f5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015612f62578181015183820152602001612f4a565b50505050905090810190601f168015612f8f5780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015612fc2578181015183820152602001612faa565b50505050905090810190601f168015612fef5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15b61300c838284615f78565b15613050576040805162461bcd60e51b815260206004820152600f60248201526e1cb6f65cf771fcd152bd17f0fcf4b5608b1b604482015290519081900360640190fd5b61307381604051806040016040528060018152602001601960f91b815250615ae7565b1561331357613081836160bb565b6130d2576040805162461bcd60e51b815260206004820152601c60248201527f746865206e6f6465206d757374206265206e6f726d616c20726f6c6500000000604482015290519081900360640190fd5b6130da616a64565b6130e684838533616100565b60408101519091506130f98584866164d8565b60026001548161310557fe5b0481118015613116575060c0820151155b1561330c57600061312f61312a8786615c04565b615743565b905061313a8161651b565b600081815260086020526040812061315191616b7a565b600061315c87615743565b6000818152600260208181526040808420600581018490556001805481018155825180850186905260808082528f51908201528e51979850600080516020616c7f833981519152978f9792840195938701949193849392840192606085019260a08601928b01918190849084905b838110156131e25781810151838201526020016131ca565b50505050905090810190601f16801561320f5780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156132825780601f1061325757610100808354040283529160200191613282565b820191906000526020600020905b81548152906001019060200180831161326557829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156132f65780601f106132cb576101008083540402835291602001916132f6565b820191906000526020600020905b8154815290600101906020018083116132d957829003601f168201915b505097505050505050505060405180910390a150505b50506138a2565b61333681604051806040016040528060018152602001603360f81b815250615ae7565b1561361357600061334684615743565b905061335181614022565b6133a2576040805162461bcd60e51b815260206004820152601760248201527f746865206e6f6465206d7573742062652061646d696e21000000000000000000604482015290519081900360640190fd5b6133aa616a64565b6133b685848633616100565b60408101519091506133c98685876164d8565b6002600154816133d557fe5b04811180156133e6575060c0820151155b1561360b5760006133fa61312a8887615c04565b90506134058161651b565b600081815260086020526040812061341c91616b7a565b600061342788615743565b90506000600260008381526020019081526020016000206005018190555060016000815480929190600190039190505550600080516020616c7f833981519152886000600260008581526020019081526020016000206001016002600086815260200190815260200160002060020160405180806020018581526020018060200180602001848103845288818151815260200191508051906020019080838360005b838110156134e15781810151838201526020016134c9565b50505050905090810190601f16801561350e5780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156135815780601f1061355657610100808354040283529160200191613581565b820191906000526020600020905b81548152906001019060200180831161356457829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156135f55780601f106135ca576101008083540402835291602001916135f5565b820191906000526020600020905b8154815290600101906020018083116135d857829003601f168201915b505097505050505050505060405180910390a150505b5050506138a2565b61363681604051806040016040528060018152602001603160f81b815250615ae7565b156138a257613643616a64565b61364f84838533616100565b60408101519091506136628584866164d8565b60026001548161366e57fe5b048111801561367f575060c0820151155b1561389f57600061369361312a8786615c04565b905061369e8161651b565b60008181526008602052604081206136b591616b7a565b60006136c087615743565b60008181526002602081905260409091206005015491925014156136e957600180546000190190555b600081815260026020818152604080842060016005820181905560078201805460ff19169055825180850182905260808082528e51908201528d51600080516020616c7f833981519152978f97939685880196959094019492938493840192606085019260a08601928b0191908190849084905b8381101561377557818101518382015260200161375d565b50505050905090810190601f1680156137a25780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156138155780601f106137ea57610100808354040283529160200191613815565b820191906000526020600020905b8154815290600101906020018083116137f857829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156138895780601f1061385e57610100808354040283529160200191613889565b820191906000526020600020905b81548152906001019060200180831161386c57829003601f168201915b505097505050505050505060405180910390a150505b50505b505050565b60006138b284615743565b90506138bc616b21565b60008281526002602081815260409283902083518154610140601f600019610100600185161502019092169590950490810184900490930281018401909452610120840182815290928492849184018282801561395a5780601f1061392f5761010080835404028352916020019161395a565b820191906000526020600020905b81548152906001019060200180831161393d57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156139fc5780601f106139d1576101008083540402835291602001916139fc565b820191906000526020600020905b8154815290600101906020018083116139df57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015613a8e5780601f10613a6357610100808354040283529160200191613a8e565b820191906000526020600020905b815481529060010190602001808311613a7157829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613b225780601f10613af757610100808354040283529160200191613b22565b820191906000526020600020905b815481529060010190602001808311613b0557829003601f168201915b505050918352505060048201546001600160a01b03808216602084015260ff600160a01b909204821615156040840152600584015460608401526006840154608080850191909152600790940154909116151560a09092019190915290820151919250163314613bcb576040805162461bcd60e51b815260206004820152600f60248201526ee8b4a6e58fb7e4b88de58cb9e9858d60881b604482015290519081900360640190fd5b6020808201859052604080830185905260008481526002835220825180518493613bf9928492910190616aa3565b506020828101518051613c129260018501920190616aa3565b5060408201518051613c2e916002840191602090910190616aa3565b5060608201518051613c4a916003840191602090910190616aa3565b50608082015160048201805460a08501516001600160a01b03199091166001600160a01b039093169290921760ff60a01b1916600160a01b9215159290920291909117905560c0820151600582015560e08201516006820155610100909101516007909101805460ff19169115159190911790555050505050565b6060806060806000806000806000613cdc8a615743565b9050613ce6616b21565b60008281526002602081815260409283902083518154610140601f6000196101006001851615020190921695909504908101849004909302810184019094526101208401828152909284928491840182828015613d845780601f10613d5957610100808354040283529160200191613d84565b820191906000526020600020905b815481529060010190602001808311613d6757829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613e265780601f10613dfb57610100808354040283529160200191613e26565b820191906000526020600020905b815481529060010190602001808311613e0957829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015613eb85780601f10613e8d57610100808354040283529160200191613eb8565b820191906000526020600020905b815481529060010190602001808311613e9b57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613f4c5780601f10613f2157610100808354040283529160200191613f4c565b820191906000526020600020905b815481529060010190602001808311613f2f57829003601f168201915b505050505081526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016004820160149054906101000a900460ff1615151515815260200160058201548152602001600682015481526020016007820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560c001518660a001518760e001518797508696508595508494509950995099509950995099509950995050505b919395975091939597565b60008181526002602052604081206007015460ff1615614058575060008181526002602081905260409091206005015414611dde565b506000919050565b600080606080600060606140748888615c04565b9050600061408182615743565b905061408b616a64565b600082815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f810186900486028301860190965285825291949293858101939192919083018282801561413f5780601f106141145761010080835404028352916020019161413f565b820191906000526020600020905b81548152906001019060200180831161412257829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156141f55780601f106141ca576101008083540402835291602001916141f5565b820191906000526020600020905b8154815290600101906020018083116141d857829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156142895780601f1061425e57610100808354040283529160200191614289565b820191906000526020600020905b81548152906001019060200180831161426c57829003601f168201915b50505091835250506006919091015460209091015260408101516060820151608083015160a084015160c090940151929e919d509b50919950975095505050505050565b60015490565b60005460ff16156143155760405162461bcd60e51b815260040180806020018281038252602b815260200180616c54602b913960400191505060405180910390fd5b60015415614365576000805460ff191660011790556040805143815242602082015281517fd57c71a2984069403b4307775755ca30b183c3f5c9eb595659a1a4488d503035929181900390910190a15b565b60005460ff1690565b60005460ff16156143b25760405162461bcd60e51b815260040180806020018281038252602b815260200180616c54602b913960400191505060405180910390fd5b60006143bd86615743565b90506143c881614022565b156144045760405162461bcd60e51b8152600401808060200182810382526021815260200180616ceb6021913960400191505060405180910390fd5b6000818152600260209081526040909120875161442392890190616aa3565b506000818152600260209081526040909120865161444992600190920191880190616aa3565b506000818152600260208181526040909220865161446f93919092019190870190616aa3565b506000818152600260209081526040909120845161449592600390920191860190616aa3565b5060008181526002602081815260408320600581019290925560048083018054600160a01b6001600160a01b03199091166001600160a01b0389161760ff60a01b19161790554260068401556007909201805460ff1916600190811790915582549081018355919092528751614532927f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90920191890190616aa3565b5060008181526003602090815260408083208054600160ff199091168117909155805481018155600580548083019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0388161790556002808452828520835180860183905260808082528d51908201528c51600080516020616c7f833981519152978e97949695840195938701949293849390840192606085019260a08601928b0191908190849084905b8381101561460c5781810151838201526020016145f4565b50505050905090810190601f1680156146395780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156146ac5780601f10614681576101008083540402835291602001916146ac565b820191906000526020600020905b81548152906001019060200180831161468f57829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156147205780601f106146f557610100808354040283529160200191614720565b820191906000526020600020905b81548152906001019060200180831161470357829003601f168201915b505097505050505050505060405180910390a1505050505050565b60608080806000808080805b600454811015614b555760006147636004838154811061222f57fe5b600081815260026020818152604092839020600301805484516001821615610100026000190190911693909304601f8101839004830284018301909452838352939450614809938f9390918301828280156147ff5780601f106147d4576101008083540402835291602001916147ff565b820191906000526020600020905b8154815290600101906020018083116147e257829003601f168201915b5050505050615ae7565b15614b4c57614816616b21565b60008281526002602081815260409283902083518154610140601f60001961010060018516150201909216959095049081018490049093028101840190945261012084018281529092849284918401828280156148b45780601f10614889576101008083540402835291602001916148b4565b820191906000526020600020905b81548152906001019060200180831161489757829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156149565780601f1061492b57610100808354040283529160200191614956565b820191906000526020600020905b81548152906001019060200180831161493957829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845293810193908301828280156149e85780601f106149bd576101008083540402835291602001916149e8565b820191906000526020600020905b8154815290600101906020018083116149cb57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015614a7c5780601f10614a5157610100808354040283529160200191614a7c565b820191906000526020600020905b815481529060010190602001808311614a5f57829003601f168201915b505050505081526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016004820160149054906101000a900460ff1615151515815260200160058201548152602001600682015481526020016007820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560c001518660a001518760e001518797508696508595508494509a509a509a509a509a509a509a509a50505050614017565b50600101614747565b50506040805160208082018352600080835283518083018552818152845180840186528281528551938401909552818352929c929b5092995097509095508594508493508392509050565b6040805160208101909152600081526060906002831115614bc2579050611dde565b60005b600454811015614cd4576000614be16004838154811061222f57fe5b600081815260026020818152604092839020805484516001821615610100026000190190911693909304601f8101839004830284018301909452838352939450606093919290830182828015614c785780601f10614c4d57610100808354040283529160200191614c78565b820191906000526020600020905b815481529060010190602001808311614c5b57829003601f168201915b505050600085815260026020526040902060050154929350505086811415614cc957614cc6614cc083604051806040016040528060018152602001600b60fa1b815250615c04565b86615c04565b94505b505050600101614bc5565b5092915050565b60005460ff16614d1c5760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b6000614d2782615743565b60008181526002602052604090206007015490915060ff16614d49575061520c565b614d51616b21565b60008281526002602081815260409283902083518154610140601f6000196101006001851615020190921695909504908101849004909302810184019094526101208401828152909284928491840182828015614def5780601f10614dc457610100808354040283529160200191614def565b820191906000526020600020905b815481529060010190602001808311614dd257829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614e915780601f10614e6657610100808354040283529160200191614e91565b820191906000526020600020905b815481529060010190602001808311614e7457829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015614f235780601f10614ef857610100808354040283529160200191614f23565b820191906000526020600020905b815481529060010190602001808311614f0657829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015614fb75780601f10614f8c57610100808354040283529160200191614fb7565b820191906000526020600020905b815481529060010190602001808311614f9a57829003601f168201915b505050918352505060048201546001600160a01b038116602083015260ff600160a01b9091048116151560408301526005830154606083015260068301546080830152600790920154909116151560a0918201528101519091501561505e576040805162461bcd60e51b8152602060048201526018602482015277725c5df4454173c15cf25c46f2c2c0f4575c74c04072c3dd60411b604482015290519081900360640190fd5b600082815260026020818152604080842060078101805460ff191690558151600181850181905260808083528a51908301528951600080516020616c7f833981519152978b979296878601969590930194849390840192606085019260a08601928b0191908190849084905b838110156150e25781810151838201526020016150ca565b50505050905090810190601f16801561510f5780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156151825780601f1061515757610100808354040283529160200191615182565b820191906000526020600020905b81548152906001019060200180831161516557829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156151f65780601f106151cb576101008083540402835291602001916151f6565b820191906000526020600020905b8154815290600101906020018083116151d957829003601f168201915b505097505050505050505060405180910390a150505b50565b6060600580548060200260200160405190810160405280929190818152602001828054801561526757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311615249575b5050505050905090565b60005460ff166152b25760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b6152bc8133615cfb565b615374577fb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be81336040518080602001836001600160a01b03166001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015615338578181015183820152602001615320565b50505050905090810190601f1680156153655780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15b61537e8133615cfb565b6153c8576040805162461bcd60e51b815260206004820152601660248201527574686520726f6c65206973206e6f742061646d696e2160501b604482015290519081900360640190fd5b6153ec82604051806040016040528060018152602001600360fc1b81525083615f78565b15615572577fe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d48582604051806040016040528060018152602001600360fc1b8152508360405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561547357818101518382015260200161545b565b50505050905090810190601f1680156154a05780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156154d35781810151838201526020016154bb565b50505050905090810190601f1680156155005780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b8381101561553357818101518382015260200161551b565b50505050905090810190601f1680156155605780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15b61559682604051806040016040528060018152602001600360fc1b81525083615f78565b156155da576040805162461bcd60e51b815260206004820152600f60248201526e1cb6f65cf771fcd152bd17f0fcf4b5608b1b604482015290519081900360640190fd5b6155e2616a64565b61560783604051806040016040528060018152602001600360fc1b8152508433616100565b905061562d83604051806040016040528060018152602001600360fc1b815250846164d8565b60408101516001546002900481118015615649575060c0820151155b1561571a57600061567385604051806040016040528060018152602001600360fc1b815250615720565b9050600061568086615743565b905061568b8261651b565b60008281526008602052604081206156a291616b7a565b600081815260026020818152604080842060058101859055815180840186905260808082528c51908201528b51600080516020616c7f833981519152968d96909560018501959490910193839290830191606084019160a08501918a01908083838c831561460c5781810151838201526020016145f4565b50505050565b6000606061572e8484615c04565b905061573981615743565b9150505b92915050565b805160209091012090565b6000818152600260209081526040909120875161577392600190920191890190616aa3565b506000818152600260208181526040909220875161579993919092019190880190616aa3565b50600081815260026020908152604090912088516157b9928a0190616aa3565b5060008181526002602090815260409091206004810180546001600160a01b0319166001600160a01b03871617905585516157fc92600390920191870190616aa3565b5060008181526002602090815260408083206005810186905560048101805460ff60a01b19169055426006820155600701805460ff19166001179055600390915290205460ff166158a55760048054600181018255600091909152875161588a917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019060208a0190616aa3565b506000818152600360205260409020805460ff191660011790555b50505050505050565b60408051602080820183526000808352848152600280835290849020805485516001821615610100026000190190911692909204601f8101849004840283018401909552848252606094859383018282801561594b5780601f106159205761010080835404028352916020019161594b565b820191906000526020600020905b81548152906001019060200180831161592e57829003601f168201915b50505050509050606061597782604051806040016040528060018152602001600360fc1b8152506167d4565b90506159928160405180602001604052806000815250615ae7565b61599a578092505b6159bd82604051806040016040528060018152602001603160f81b8152506167d4565b90506159d88160405180602001604052806000815250615ae7565b615a0657615a038361231a604051806040016040528060018152602001600b60fa1b81525084615c04565b92505b615a2982604051806040016040528060018152602001601960f91b8152506167d4565b9050615a448160405180602001604052806000815250615ae7565b615a7257615a6f8361231a604051806040016040528060018152602001600b60fa1b81525084615c04565b92505b615a9582604051806040016040528060018152602001603360f81b8152506167d4565b9050615ab08160405180602001604052806000815250615ae7565b615ade57615adb8361231a604051806040016040528060018152602001600b60fa1b81525084615c04565b92505b50909392505050565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015615b2a578181015183820152602001615b12565b50505050905090810190601f168015615b575780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015615bb3578181015183820152602001615b9b565b50505050905090810190601f168015615be05780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012014905092915050565b6060808390506060839050606081518351016040519080825280601f01601f191660200182016040528015615c40576020820181803883390190505b509050806000805b8551811015615c9957858181518110615c5d57fe5b602001015160f81c60f81b838380600101945081518110615c7a57fe5b60200101906001600160f81b031916908160001a905350600101615c48565b5060005b8451811015615cee57848181518110615cb257fe5b602001015160f81c60f81b838380600101945081518110615ccf57fe5b60200101906001600160f81b031916908160001a905350600101615c9d565b5091979650505050505050565b600080615d0784615743565b9050615d1281614022565b615d2057600091505061573d565b6000908152600260205260409020600401546001600160a01b0390811690831614905092915050565b6000615d6e82604051806040016040528060018152602001600360fc1b815250615ae7565b15615d7b5750600061573d565b6000615d8684615743565b600081815260026020819052604090912054919250600019610100600184161502019091160415615e725760008181526002602052604090206005015460011415615dd557600091505061573d565b615df883604051806040016040528060018152602001601960f91b815250615ae7565b8015615e165750600081815260026020819052604090912060050154145b15615e2557600091505061573d565b615e4883604051806040016040528060018152602001603360f81b815250615ae7565b8015615e635750600081815260026020526040902060050154155b15615e7257600091505061573d565b5060019392505050565b615e84616b98565b84815260208082018590526001600160a01b03841660408301526060820183905260006080830181905260078054600181018255915282518051849360059093027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880192615ef6928492910190616aa3565b506020828101518051615f0f9260018501920190616aa3565b5060408201516002820180546001600160a01b0319166001600160a01b0390921691909117905560608201518051615f51916003840191602090910190616aa3565b50608091909101516004909101805460ff191691151591909117905561389f8583866164d8565b600080615f8861312a8686615c04565b600081815260086020908152604080832080548251818502810185019093528083529495506060949193909284015b828210156160625760008481526020908190208301805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561604e5780601f106160235761010080835404028352916020019161604e565b820191906000526020600020905b81548152906001019060200180831161603157829003601f168201915b505050505081526020019060010190615fb7565b509293506000925050505b81518110156160ac5761609382828151811061608557fe5b602002602001015186615ae7565b156160a457600193505050506160b4565b60010161606d565b506000925050505b9392505050565b6000806160c783615743565b60008181526003602090815260408083205460029092529091206005015491925060ff1690158180156160f75750805b95945050505050565b616108616a64565b60006161148686615720565b905061611e616b98565b506040805160a08101825287815260208082018790526001600160a01b0386169282019290925260608101879052600160808201819052600780549182018155600052815180519293849360059093027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688019261619e9284920190616aa3565b5060208281015180516161b79260018501920190616aa3565b5060408201516002820180546001600160a01b0319166001600160a01b03909216919091179055606082015180516161f9916003840191602090910190616aa3565b50608091909101516004909101805460ff191691151591909117905561621d616a64565b600083815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f81018690048602830186019096528582529194929385810193919291908301828280156162d15780601f106162a6576101008083540402835291602001916162d1565b820191906000526020600020905b8154815290600101906020018083116162b457829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156163875780601f1061635c57610100808354040283529160200191616387565b820191906000526020600020905b81548152906001019060200180831161636a57829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815293820193929183018282801561641b5780601f106163f05761010080835404028352916020019161641b565b820191906000526020600020905b8154815290600101906020018083116163fe57829003601f168201915b5050509183525050600691820154602091820152604083810180516001908101909152600088815293835292208351815460ff1916901515178155838201518051949550859491936164739390850192910190616aa3565b506040820151600282015560608201516003820155608082015180516164a3916004840191602090910190616aa3565b5060a082015180516164bf916005840191602090910190616aa3565b5060c09190910151600690910155979650505050505050565b60006164e761312a8585615c04565b60008181526008602090815260408220805460018101825590835291819020855193945061389f9392019190850190616aa3565b616523616a64565b600082815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f81018690048602830186019096528582529194929385810193919291908301828280156165d75780601f106165ac576101008083540402835291602001916165d7565b820191906000526020600020905b8154815290600101906020018083116165ba57829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561668d5780601f106166625761010080835404028352916020019161668d565b820191906000526020600020905b81548152906001019060200180831161667057829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156167215780601f106166f657610100808354040283529160200191616721565b820191906000526020600020905b81548152906001019060200180831161670457829003601f168201915b5050509183525050600691820154602091820152600160c08401819052600086815292825260409092208351815460ff1916901515178155838201518051949550859491936167769390850192910190616aa3565b506040820151600282015560608201516003820155608082015180516167a6916004840191602090910190616aa3565b5060a082015180516167c2916005840191602090910190616aa3565b5060c082015181600601559050505050565b606060006167e28484615720565b60008181526006602052604090205490915060ff1661681157505060408051602081019091526000815261573d565b616819616a64565b600082815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f81018690048602830186019096528582529194929385810193919291908301828280156168cd5780601f106168a2576101008083540402835291602001916168cd565b820191906000526020600020905b8154815290600101906020018083116168b057829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156169835780601f1061695857610100808354040283529160200191616983565b820191906000526020600020905b81548152906001019060200180831161696657829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015616a175780601f106169ec57610100808354040283529160200191616a17565b820191906000526020600020905b8154815290600101906020018083116169fa57829003601f168201915b5050505050815260200160068201548152505090508060c0015160001415616a4c57616a438585615c04565b9250505061573d565b50506040805160208101909152600081529392505050565b6040518060e001604052806000151581526020016060815260200160008152602001600081526020016060815260200160608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10616ae457805160ff1916838001178555616b11565b82800160010185558215616b11579182015b82811115616b11578251825591602001919060010190616af6565b50616b1d929150616bd2565b5090565b6040518061012001604052806060815260200160608152602001606081526020016060815260200160006001600160a01b0316815260200160001515815260200160008152602001600081526020016000151581525090565b508054600082559060005260206000209081019061520c9190616bec565b6040518060a00160405280606081526020016060815260200160006001600160a01b03168152602001606081526020016000151581525090565b61233091905b80821115616b1d5760008155600101616bd8565b61233091905b80821115616b1d576000616c068282616c0f565b50600101616bf2565b50805460018160011615610100020316600290046000825580601f10616c35575061520c565b601f01602090049060005260206000209081019061520c9190616bd256fe63616e206e6f74207365742061646d696e206e6f64652c696e697469616c697a652066696e69736865642ee2079629d960c01f0a2e7d2ceb7c4fbe84915ec15bfdb1ea6412f0c92333aaf763616e206e6f7420696e766f6b65206d6574686f64206578636570742073657441646d696e2066756e6374696f6e2c696e697469616c697a652068617665206e6f742066696e69736865642ee88a82e782b9e5b7b2e7bb8fe698afe88194e79b9fe5889be5a78be88a82e782b9a2646970667358221220ddfd1af5b434cabe3d1143edc772954b8c147b45bbfe18a8647a7a415abd667264736f6c63430006000033", 57 } 58 59 // PermissionABI is the input ABI used to generate the binding from. 60 // Deprecated: Use PermissionMetaData.ABI instead. 61 var PermissionABI = PermissionMetaData.ABI 62 63 // Deprecated: Use PermissionMetaData.Sigs instead. 64 // PermissionFuncSigs maps the 4-byte function signature to its string representation. 65 var PermissionFuncSigs = PermissionMetaData.Sigs 66 67 // PermissionBin is the compiled bytecode used for deploying new contracts. 68 // Deprecated: Use PermissionMetaData.Bin instead. 69 var PermissionBin = PermissionMetaData.Bin 70 71 // DeployPermission deploys a new Ethereum contract, binding an instance of Permission to it. 72 func DeployPermission(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Permission, error) { 73 parsed, err := PermissionMetaData.GetAbi() 74 if err != nil { 75 return common.Address{}, nil, nil, err 76 } 77 if parsed == nil { 78 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 79 } 80 81 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(PermissionBin), backend) 82 if err != nil { 83 return common.Address{}, nil, nil, err 84 } 85 return address, tx, &Permission{PermissionCaller: PermissionCaller{contract: contract}, PermissionTransactor: PermissionTransactor{contract: contract}, PermissionFilterer: PermissionFilterer{contract: contract}}, nil 86 } 87 88 // Permission is an auto generated Go binding around an Ethereum contract. 89 type Permission struct { 90 PermissionCaller // Read-only binding to the contract 91 PermissionTransactor // Write-only binding to the contract 92 PermissionFilterer // Log filterer for contract events 93 } 94 95 // PermissionCaller is an auto generated read-only Go binding around an Ethereum contract. 96 type PermissionCaller struct { 97 contract *bind.BoundContract // Generic contract wrapper for the low level calls 98 } 99 100 // PermissionTransactor is an auto generated write-only Go binding around an Ethereum contract. 101 type PermissionTransactor struct { 102 contract *bind.BoundContract // Generic contract wrapper for the low level calls 103 } 104 105 // PermissionFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 106 type PermissionFilterer struct { 107 contract *bind.BoundContract // Generic contract wrapper for the low level calls 108 } 109 110 // PermissionSession is an auto generated Go binding around an Ethereum contract, 111 // with pre-set call and transact options. 112 type PermissionSession struct { 113 Contract *Permission // Generic contract binding to set the session for 114 CallOpts bind.CallOpts // Call options to use throughout this session 115 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 116 } 117 118 // PermissionCallerSession is an auto generated read-only Go binding around an Ethereum contract, 119 // with pre-set call options. 120 type PermissionCallerSession struct { 121 Contract *PermissionCaller // Generic contract caller binding to set the session for 122 CallOpts bind.CallOpts // Call options to use throughout this session 123 } 124 125 // PermissionTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 126 // with pre-set transact options. 127 type PermissionTransactorSession struct { 128 Contract *PermissionTransactor // Generic contract transactor binding to set the session for 129 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 130 } 131 132 // PermissionRaw is an auto generated low-level Go binding around an Ethereum contract. 133 type PermissionRaw struct { 134 Contract *Permission // Generic contract binding to access the raw methods on 135 } 136 137 // PermissionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 138 type PermissionCallerRaw struct { 139 Contract *PermissionCaller // Generic read-only contract binding to access the raw methods on 140 } 141 142 // PermissionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 143 type PermissionTransactorRaw struct { 144 Contract *PermissionTransactor // Generic write-only contract binding to access the raw methods on 145 } 146 147 // NewPermission creates a new instance of Permission, bound to a specific deployed contract. 148 func NewPermission(address common.Address, backend bind.ContractBackend) (*Permission, error) { 149 contract, err := bindPermission(address, backend, backend, backend) 150 if err != nil { 151 return nil, err 152 } 153 return &Permission{PermissionCaller: PermissionCaller{contract: contract}, PermissionTransactor: PermissionTransactor{contract: contract}, PermissionFilterer: PermissionFilterer{contract: contract}}, nil 154 } 155 156 // NewPermissionCaller creates a new read-only instance of Permission, bound to a specific deployed contract. 157 func NewPermissionCaller(address common.Address, caller bind.ContractCaller) (*PermissionCaller, error) { 158 contract, err := bindPermission(address, caller, nil, nil) 159 if err != nil { 160 return nil, err 161 } 162 return &PermissionCaller{contract: contract}, nil 163 } 164 165 // NewPermissionTransactor creates a new write-only instance of Permission, bound to a specific deployed contract. 166 func NewPermissionTransactor(address common.Address, transactor bind.ContractTransactor) (*PermissionTransactor, error) { 167 contract, err := bindPermission(address, nil, transactor, nil) 168 if err != nil { 169 return nil, err 170 } 171 return &PermissionTransactor{contract: contract}, nil 172 } 173 174 // NewPermissionFilterer creates a new log filterer instance of Permission, bound to a specific deployed contract. 175 func NewPermissionFilterer(address common.Address, filterer bind.ContractFilterer) (*PermissionFilterer, error) { 176 contract, err := bindPermission(address, nil, nil, filterer) 177 if err != nil { 178 return nil, err 179 } 180 return &PermissionFilterer{contract: contract}, nil 181 } 182 183 // bindPermission binds a generic wrapper to an already deployed contract. 184 func bindPermission(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 185 parsed, err := abi.JSON(strings.NewReader(PermissionABI)) 186 if err != nil { 187 return nil, err 188 } 189 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 190 } 191 192 // Call invokes the (constant) contract method with params as input values and 193 // sets the output to result. The result type might be a single field for simple 194 // returns, a slice of interfaces for anonymous returns and a struct for named 195 // returns. 196 func (_Permission *PermissionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 197 return _Permission.Contract.PermissionCaller.contract.Call(opts, result, method, params...) 198 } 199 200 // Transfer initiates a plain transaction to move funds to the contract, calling 201 // its default method if one is available. 202 func (_Permission *PermissionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 203 return _Permission.Contract.PermissionTransactor.contract.Transfer(opts) 204 } 205 206 // Transact invokes the (paid) contract method with params as input values. 207 func (_Permission *PermissionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 208 return _Permission.Contract.PermissionTransactor.contract.Transact(opts, method, params...) 209 } 210 211 // Call invokes the (constant) contract method with params as input values and 212 // sets the output to result. The result type might be a single field for simple 213 // returns, a slice of interfaces for anonymous returns and a struct for named 214 // returns. 215 func (_Permission *PermissionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 216 return _Permission.Contract.contract.Call(opts, result, method, params...) 217 } 218 219 // Transfer initiates a plain transaction to move funds to the contract, calling 220 // its default method if one is available. 221 func (_Permission *PermissionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 222 return _Permission.Contract.contract.Transfer(opts) 223 } 224 225 // Transact invokes the (paid) contract method with params as input values. 226 func (_Permission *PermissionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 227 return _Permission.Contract.contract.Transact(opts, method, params...) 228 } 229 230 // GetAdminCount is a free data retrieval call binding the contract method 0x8b7bf3eb. 231 // 232 // Solidity: function getAdminCount() view returns(uint256) 233 func (_Permission *PermissionCaller) GetAdminCount(opts *bind.CallOpts) (*big.Int, error) { 234 var out []interface{} 235 err := _Permission.contract.Call(opts, &out, "getAdminCount") 236 237 if err != nil { 238 return *new(*big.Int), err 239 } 240 241 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 242 243 return out0, err 244 245 } 246 247 // GetAdminCount is a free data retrieval call binding the contract method 0x8b7bf3eb. 248 // 249 // Solidity: function getAdminCount() view returns(uint256) 250 func (_Permission *PermissionSession) GetAdminCount() (*big.Int, error) { 251 return _Permission.Contract.GetAdminCount(&_Permission.CallOpts) 252 } 253 254 // GetAdminCount is a free data retrieval call binding the contract method 0x8b7bf3eb. 255 // 256 // Solidity: function getAdminCount() view returns(uint256) 257 func (_Permission *PermissionCallerSession) GetAdminCount() (*big.Int, error) { 258 return _Permission.Contract.GetAdminCount(&_Permission.CallOpts) 259 } 260 261 // GetAllStatingRecord is a free data retrieval call binding the contract method 0x24781773. 262 // 263 // Solidity: function getAllStatingRecord() view returns(string) 264 func (_Permission *PermissionCaller) GetAllStatingRecord(opts *bind.CallOpts) (string, error) { 265 var out []interface{} 266 err := _Permission.contract.Call(opts, &out, "getAllStatingRecord") 267 268 if err != nil { 269 return *new(string), err 270 } 271 272 out0 := *abi.ConvertType(out[0], new(string)).(*string) 273 274 return out0, err 275 276 } 277 278 // GetAllStatingRecord is a free data retrieval call binding the contract method 0x24781773. 279 // 280 // Solidity: function getAllStatingRecord() view returns(string) 281 func (_Permission *PermissionSession) GetAllStatingRecord() (string, error) { 282 return _Permission.Contract.GetAllStatingRecord(&_Permission.CallOpts) 283 } 284 285 // GetAllStatingRecord is a free data retrieval call binding the contract method 0x24781773. 286 // 287 // Solidity: function getAllStatingRecord() view returns(string) 288 func (_Permission *PermissionCallerSession) GetAllStatingRecord() (string, error) { 289 return _Permission.Contract.GetAllStatingRecord(&_Permission.CallOpts) 290 } 291 292 // GetInfoByName is a free data retrieval call binding the contract method 0xc88120d6. 293 // 294 // Solidity: function getInfoByName(string _nodeName) view returns(string, string, string, string, address, uint256, bool, uint256) 295 func (_Permission *PermissionCaller) GetInfoByName(opts *bind.CallOpts, _nodeName string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error) { 296 var out []interface{} 297 err := _Permission.contract.Call(opts, &out, "getInfoByName", _nodeName) 298 299 if err != nil { 300 return *new(string), *new(string), *new(string), *new(string), *new(common.Address), *new(*big.Int), *new(bool), *new(*big.Int), err 301 } 302 303 out0 := *abi.ConvertType(out[0], new(string)).(*string) 304 out1 := *abi.ConvertType(out[1], new(string)).(*string) 305 out2 := *abi.ConvertType(out[2], new(string)).(*string) 306 out3 := *abi.ConvertType(out[3], new(string)).(*string) 307 out4 := *abi.ConvertType(out[4], new(common.Address)).(*common.Address) 308 out5 := *abi.ConvertType(out[5], new(*big.Int)).(**big.Int) 309 out6 := *abi.ConvertType(out[6], new(bool)).(*bool) 310 out7 := *abi.ConvertType(out[7], new(*big.Int)).(**big.Int) 311 312 return out0, out1, out2, out3, out4, out5, out6, out7, err 313 314 } 315 316 // GetInfoByName is a free data retrieval call binding the contract method 0xc88120d6. 317 // 318 // Solidity: function getInfoByName(string _nodeName) view returns(string, string, string, string, address, uint256, bool, uint256) 319 func (_Permission *PermissionSession) GetInfoByName(_nodeName string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error) { 320 return _Permission.Contract.GetInfoByName(&_Permission.CallOpts, _nodeName) 321 } 322 323 // GetInfoByName is a free data retrieval call binding the contract method 0xc88120d6. 324 // 325 // Solidity: function getInfoByName(string _nodeName) view returns(string, string, string, string, address, uint256, bool, uint256) 326 func (_Permission *PermissionCallerSession) GetInfoByName(_nodeName string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error) { 327 return _Permission.Contract.GetInfoByName(&_Permission.CallOpts, _nodeName) 328 } 329 330 // GetLastStatistics is a free data retrieval call binding the contract method 0x89e93d71. 331 // 332 // Solidity: function getLastStatistics(string _nodeId, string _opCode) view returns(uint256, uint256, string, string, uint256) 333 func (_Permission *PermissionCaller) GetLastStatistics(opts *bind.CallOpts, _nodeId string, _opCode string) (*big.Int, *big.Int, string, string, *big.Int, error) { 334 var out []interface{} 335 err := _Permission.contract.Call(opts, &out, "getLastStatistics", _nodeId, _opCode) 336 337 if err != nil { 338 return *new(*big.Int), *new(*big.Int), *new(string), *new(string), *new(*big.Int), err 339 } 340 341 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 342 out1 := *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 343 out2 := *abi.ConvertType(out[2], new(string)).(*string) 344 out3 := *abi.ConvertType(out[3], new(string)).(*string) 345 out4 := *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) 346 347 return out0, out1, out2, out3, out4, err 348 349 } 350 351 // GetLastStatistics is a free data retrieval call binding the contract method 0x89e93d71. 352 // 353 // Solidity: function getLastStatistics(string _nodeId, string _opCode) view returns(uint256, uint256, string, string, uint256) 354 func (_Permission *PermissionSession) GetLastStatistics(_nodeId string, _opCode string) (*big.Int, *big.Int, string, string, *big.Int, error) { 355 return _Permission.Contract.GetLastStatistics(&_Permission.CallOpts, _nodeId, _opCode) 356 } 357 358 // GetLastStatistics is a free data retrieval call binding the contract method 0x89e93d71. 359 // 360 // Solidity: function getLastStatistics(string _nodeId, string _opCode) view returns(uint256, uint256, string, string, uint256) 361 func (_Permission *PermissionCallerSession) GetLastStatistics(_nodeId string, _opCode string) (*big.Int, *big.Int, string, string, *big.Int, error) { 362 return _Permission.Contract.GetLastStatistics(&_Permission.CallOpts, _nodeId, _opCode) 363 } 364 365 // GetNodeByRole is a free data retrieval call binding the contract method 0xd5eda3b1. 366 // 367 // Solidity: function getNodeByRole(uint256 _role) view returns(string) 368 func (_Permission *PermissionCaller) GetNodeByRole(opts *bind.CallOpts, _role *big.Int) (string, error) { 369 var out []interface{} 370 err := _Permission.contract.Call(opts, &out, "getNodeByRole", _role) 371 372 if err != nil { 373 return *new(string), err 374 } 375 376 out0 := *abi.ConvertType(out[0], new(string)).(*string) 377 378 return out0, err 379 380 } 381 382 // GetNodeByRole is a free data retrieval call binding the contract method 0xd5eda3b1. 383 // 384 // Solidity: function getNodeByRole(uint256 _role) view returns(string) 385 func (_Permission *PermissionSession) GetNodeByRole(_role *big.Int) (string, error) { 386 return _Permission.Contract.GetNodeByRole(&_Permission.CallOpts, _role) 387 } 388 389 // GetNodeByRole is a free data retrieval call binding the contract method 0xd5eda3b1. 390 // 391 // Solidity: function getNodeByRole(uint256 _role) view returns(string) 392 func (_Permission *PermissionCallerSession) GetNodeByRole(_role *big.Int) (string, error) { 393 return _Permission.Contract.GetNodeByRole(&_Permission.CallOpts, _role) 394 } 395 396 // GetNodeMap is a free data retrieval call binding the contract method 0x6fdde422. 397 // 398 // Solidity: function getNodeMap(string _nodeId) view returns(string, string, string, string, address, uint256, bool, uint256) 399 func (_Permission *PermissionCaller) GetNodeMap(opts *bind.CallOpts, _nodeId string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error) { 400 var out []interface{} 401 err := _Permission.contract.Call(opts, &out, "getNodeMap", _nodeId) 402 403 if err != nil { 404 return *new(string), *new(string), *new(string), *new(string), *new(common.Address), *new(*big.Int), *new(bool), *new(*big.Int), err 405 } 406 407 out0 := *abi.ConvertType(out[0], new(string)).(*string) 408 out1 := *abi.ConvertType(out[1], new(string)).(*string) 409 out2 := *abi.ConvertType(out[2], new(string)).(*string) 410 out3 := *abi.ConvertType(out[3], new(string)).(*string) 411 out4 := *abi.ConvertType(out[4], new(common.Address)).(*common.Address) 412 out5 := *abi.ConvertType(out[5], new(*big.Int)).(**big.Int) 413 out6 := *abi.ConvertType(out[6], new(bool)).(*bool) 414 out7 := *abi.ConvertType(out[7], new(*big.Int)).(**big.Int) 415 416 return out0, out1, out2, out3, out4, out5, out6, out7, err 417 418 } 419 420 // GetNodeMap is a free data retrieval call binding the contract method 0x6fdde422. 421 // 422 // Solidity: function getNodeMap(string _nodeId) view returns(string, string, string, string, address, uint256, bool, uint256) 423 func (_Permission *PermissionSession) GetNodeMap(_nodeId string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error) { 424 return _Permission.Contract.GetNodeMap(&_Permission.CallOpts, _nodeId) 425 } 426 427 // GetNodeMap is a free data retrieval call binding the contract method 0x6fdde422. 428 // 429 // Solidity: function getNodeMap(string _nodeId) view returns(string, string, string, string, address, uint256, bool, uint256) 430 func (_Permission *PermissionCallerSession) GetNodeMap(_nodeId string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error) { 431 return _Permission.Contract.GetNodeMap(&_Permission.CallOpts, _nodeId) 432 } 433 434 // GetOriginators is a free data retrieval call binding the contract method 0xedbfe56d. 435 // 436 // Solidity: function getOriginators() view returns(address[]) 437 func (_Permission *PermissionCaller) GetOriginators(opts *bind.CallOpts) ([]common.Address, error) { 438 var out []interface{} 439 err := _Permission.contract.Call(opts, &out, "getOriginators") 440 441 if err != nil { 442 return *new([]common.Address), err 443 } 444 445 out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) 446 447 return out0, err 448 449 } 450 451 // GetOriginators is a free data retrieval call binding the contract method 0xedbfe56d. 452 // 453 // Solidity: function getOriginators() view returns(address[]) 454 func (_Permission *PermissionSession) GetOriginators() ([]common.Address, error) { 455 return _Permission.Contract.GetOriginators(&_Permission.CallOpts) 456 } 457 458 // GetOriginators is a free data retrieval call binding the contract method 0xedbfe56d. 459 // 460 // Solidity: function getOriginators() view returns(address[]) 461 func (_Permission *PermissionCallerSession) GetOriginators() ([]common.Address, error) { 462 return _Permission.Contract.GetOriginators(&_Permission.CallOpts) 463 } 464 465 // IsAdmin is a free data retrieval call binding the contract method 0x72d14480. 466 // 467 // Solidity: function isAdmin(bytes32 _nodeHash) view returns(bool) 468 func (_Permission *PermissionCaller) IsAdmin(opts *bind.CallOpts, _nodeHash [32]byte) (bool, error) { 469 var out []interface{} 470 err := _Permission.contract.Call(opts, &out, "isAdmin", _nodeHash) 471 472 if err != nil { 473 return *new(bool), err 474 } 475 476 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 477 478 return out0, err 479 480 } 481 482 // IsAdmin is a free data retrieval call binding the contract method 0x72d14480. 483 // 484 // Solidity: function isAdmin(bytes32 _nodeHash) view returns(bool) 485 func (_Permission *PermissionSession) IsAdmin(_nodeHash [32]byte) (bool, error) { 486 return _Permission.Contract.IsAdmin(&_Permission.CallOpts, _nodeHash) 487 } 488 489 // IsAdmin is a free data retrieval call binding the contract method 0x72d14480. 490 // 491 // Solidity: function isAdmin(bytes32 _nodeHash) view returns(bool) 492 func (_Permission *PermissionCallerSession) IsAdmin(_nodeHash [32]byte) (bool, error) { 493 return _Permission.Contract.IsAdmin(&_Permission.CallOpts, _nodeHash) 494 } 495 496 // IsInitFinished is a free data retrieval call binding the contract method 0xa247e4dd. 497 // 498 // Solidity: function isInitFinished() view returns(bool) 499 func (_Permission *PermissionCaller) IsInitFinished(opts *bind.CallOpts) (bool, error) { 500 var out []interface{} 501 err := _Permission.contract.Call(opts, &out, "isInitFinished") 502 503 if err != nil { 504 return *new(bool), err 505 } 506 507 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 508 509 return out0, err 510 511 } 512 513 // IsInitFinished is a free data retrieval call binding the contract method 0xa247e4dd. 514 // 515 // Solidity: function isInitFinished() view returns(bool) 516 func (_Permission *PermissionSession) IsInitFinished() (bool, error) { 517 return _Permission.Contract.IsInitFinished(&_Permission.CallOpts) 518 } 519 520 // IsInitFinished is a free data retrieval call binding the contract method 0xa247e4dd. 521 // 522 // Solidity: function isInitFinished() view returns(bool) 523 func (_Permission *PermissionCallerSession) IsInitFinished() (bool, error) { 524 return _Permission.Contract.IsInitFinished(&_Permission.CallOpts) 525 } 526 527 // NodeExists is a free data retrieval call binding the contract method 0x1b128f61. 528 // 529 // Solidity: function nodeExists(string _nodeId) view returns(bool) 530 func (_Permission *PermissionCaller) NodeExists(opts *bind.CallOpts, _nodeId string) (bool, error) { 531 var out []interface{} 532 err := _Permission.contract.Call(opts, &out, "nodeExists", _nodeId) 533 534 if err != nil { 535 return *new(bool), err 536 } 537 538 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 539 540 return out0, err 541 542 } 543 544 // NodeExists is a free data retrieval call binding the contract method 0x1b128f61. 545 // 546 // Solidity: function nodeExists(string _nodeId) view returns(bool) 547 func (_Permission *PermissionSession) NodeExists(_nodeId string) (bool, error) { 548 return _Permission.Contract.NodeExists(&_Permission.CallOpts, _nodeId) 549 } 550 551 // NodeExists is a free data retrieval call binding the contract method 0x1b128f61. 552 // 553 // Solidity: function nodeExists(string _nodeId) view returns(bool) 554 func (_Permission *PermissionCallerSession) NodeExists(_nodeId string) (bool, error) { 555 return _Permission.Contract.NodeExists(&_Permission.CallOpts, _nodeId) 556 } 557 558 // Disagree is a paid mutator transaction binding the contract method 0x2d0207f8. 559 // 560 // Solidity: function disagree(string _nodeId, string _voterNodeId, string _opCode) payable returns() 561 func (_Permission *PermissionTransactor) Disagree(opts *bind.TransactOpts, _nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error) { 562 return _Permission.contract.Transact(opts, "disagree", _nodeId, _voterNodeId, _opCode) 563 } 564 565 // Disagree is a paid mutator transaction binding the contract method 0x2d0207f8. 566 // 567 // Solidity: function disagree(string _nodeId, string _voterNodeId, string _opCode) payable returns() 568 func (_Permission *PermissionSession) Disagree(_nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error) { 569 return _Permission.Contract.Disagree(&_Permission.TransactOpts, _nodeId, _voterNodeId, _opCode) 570 } 571 572 // Disagree is a paid mutator transaction binding the contract method 0x2d0207f8. 573 // 574 // Solidity: function disagree(string _nodeId, string _voterNodeId, string _opCode) payable returns() 575 func (_Permission *PermissionTransactorSession) Disagree(_nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error) { 576 return _Permission.Contract.Disagree(&_Permission.TransactOpts, _nodeId, _voterNodeId, _opCode) 577 } 578 579 // Exit is a paid mutator transaction binding the contract method 0xe7fb5388. 580 // 581 // Solidity: function exit(string _nodeId) returns() 582 func (_Permission *PermissionTransactor) Exit(opts *bind.TransactOpts, _nodeId string) (*types.Transaction, error) { 583 return _Permission.contract.Transact(opts, "exit", _nodeId) 584 } 585 586 // Exit is a paid mutator transaction binding the contract method 0xe7fb5388. 587 // 588 // Solidity: function exit(string _nodeId) returns() 589 func (_Permission *PermissionSession) Exit(_nodeId string) (*types.Transaction, error) { 590 return _Permission.Contract.Exit(&_Permission.TransactOpts, _nodeId) 591 } 592 593 // Exit is a paid mutator transaction binding the contract method 0xe7fb5388. 594 // 595 // Solidity: function exit(string _nodeId) returns() 596 func (_Permission *PermissionTransactorSession) Exit(_nodeId string) (*types.Transaction, error) { 597 return _Permission.Contract.Exit(&_Permission.TransactOpts, _nodeId) 598 } 599 600 // InitFinish is a paid mutator transaction binding the contract method 0x99439b69. 601 // 602 // Solidity: function initFinish() returns() 603 func (_Permission *PermissionTransactor) InitFinish(opts *bind.TransactOpts) (*types.Transaction, error) { 604 return _Permission.contract.Transact(opts, "initFinish") 605 } 606 607 // InitFinish is a paid mutator transaction binding the contract method 0x99439b69. 608 // 609 // Solidity: function initFinish() returns() 610 func (_Permission *PermissionSession) InitFinish() (*types.Transaction, error) { 611 return _Permission.Contract.InitFinish(&_Permission.TransactOpts) 612 } 613 614 // InitFinish is a paid mutator transaction binding the contract method 0x99439b69. 615 // 616 // Solidity: function initFinish() returns() 617 func (_Permission *PermissionTransactorSession) InitFinish() (*types.Transaction, error) { 618 return _Permission.Contract.InitFinish(&_Permission.TransactOpts) 619 } 620 621 // MakeProposeForAddNewNode is a paid mutator transaction binding the contract method 0x05247ce6. 622 // 623 // Solidity: function makeProposeForAddNewNode(string _nodeId, string _ip, string _port, string nodeName, address _nodeAddress, string _proposeNodeId) payable returns() 624 func (_Permission *PermissionTransactor) MakeProposeForAddNewNode(opts *bind.TransactOpts, _nodeId string, _ip string, _port string, nodeName string, _nodeAddress common.Address, _proposeNodeId string) (*types.Transaction, error) { 625 return _Permission.contract.Transact(opts, "makeProposeForAddNewNode", _nodeId, _ip, _port, nodeName, _nodeAddress, _proposeNodeId) 626 } 627 628 // MakeProposeForAddNewNode is a paid mutator transaction binding the contract method 0x05247ce6. 629 // 630 // Solidity: function makeProposeForAddNewNode(string _nodeId, string _ip, string _port, string nodeName, address _nodeAddress, string _proposeNodeId) payable returns() 631 func (_Permission *PermissionSession) MakeProposeForAddNewNode(_nodeId string, _ip string, _port string, nodeName string, _nodeAddress common.Address, _proposeNodeId string) (*types.Transaction, error) { 632 return _Permission.Contract.MakeProposeForAddNewNode(&_Permission.TransactOpts, _nodeId, _ip, _port, nodeName, _nodeAddress, _proposeNodeId) 633 } 634 635 // MakeProposeForAddNewNode is a paid mutator transaction binding the contract method 0x05247ce6. 636 // 637 // Solidity: function makeProposeForAddNewNode(string _nodeId, string _ip, string _port, string nodeName, address _nodeAddress, string _proposeNodeId) payable returns() 638 func (_Permission *PermissionTransactorSession) MakeProposeForAddNewNode(_nodeId string, _ip string, _port string, nodeName string, _nodeAddress common.Address, _proposeNodeId string) (*types.Transaction, error) { 639 return _Permission.Contract.MakeProposeForAddNewNode(&_Permission.TransactOpts, _nodeId, _ip, _port, nodeName, _nodeAddress, _proposeNodeId) 640 } 641 642 // MakeProposeForRoleChange is a paid mutator transaction binding the contract method 0x2566dfb0. 643 // 644 // Solidity: function makeProposeForRoleChange(string _nodeId, string _opCode, string _voterNodeId) payable returns() 645 func (_Permission *PermissionTransactor) MakeProposeForRoleChange(opts *bind.TransactOpts, _nodeId string, _opCode string, _voterNodeId string) (*types.Transaction, error) { 646 return _Permission.contract.Transact(opts, "makeProposeForRoleChange", _nodeId, _opCode, _voterNodeId) 647 } 648 649 // MakeProposeForRoleChange is a paid mutator transaction binding the contract method 0x2566dfb0. 650 // 651 // Solidity: function makeProposeForRoleChange(string _nodeId, string _opCode, string _voterNodeId) payable returns() 652 func (_Permission *PermissionSession) MakeProposeForRoleChange(_nodeId string, _opCode string, _voterNodeId string) (*types.Transaction, error) { 653 return _Permission.Contract.MakeProposeForRoleChange(&_Permission.TransactOpts, _nodeId, _opCode, _voterNodeId) 654 } 655 656 // MakeProposeForRoleChange is a paid mutator transaction binding the contract method 0x2566dfb0. 657 // 658 // Solidity: function makeProposeForRoleChange(string _nodeId, string _opCode, string _voterNodeId) payable returns() 659 func (_Permission *PermissionTransactorSession) MakeProposeForRoleChange(_nodeId string, _opCode string, _voterNodeId string) (*types.Transaction, error) { 660 return _Permission.Contract.MakeProposeForRoleChange(&_Permission.TransactOpts, _nodeId, _opCode, _voterNodeId) 661 } 662 663 // SetAdminNode is a paid mutator transaction binding the contract method 0xbbe25f2c. 664 // 665 // Solidity: function setAdminNode(string _nodeId, string _ip, string _port, string _nodeName, address _nodeAddress) returns() 666 func (_Permission *PermissionTransactor) SetAdminNode(opts *bind.TransactOpts, _nodeId string, _ip string, _port string, _nodeName string, _nodeAddress common.Address) (*types.Transaction, error) { 667 return _Permission.contract.Transact(opts, "setAdminNode", _nodeId, _ip, _port, _nodeName, _nodeAddress) 668 } 669 670 // SetAdminNode is a paid mutator transaction binding the contract method 0xbbe25f2c. 671 // 672 // Solidity: function setAdminNode(string _nodeId, string _ip, string _port, string _nodeName, address _nodeAddress) returns() 673 func (_Permission *PermissionSession) SetAdminNode(_nodeId string, _ip string, _port string, _nodeName string, _nodeAddress common.Address) (*types.Transaction, error) { 674 return _Permission.Contract.SetAdminNode(&_Permission.TransactOpts, _nodeId, _ip, _port, _nodeName, _nodeAddress) 675 } 676 677 // SetAdminNode is a paid mutator transaction binding the contract method 0xbbe25f2c. 678 // 679 // Solidity: function setAdminNode(string _nodeId, string _ip, string _port, string _nodeName, address _nodeAddress) returns() 680 func (_Permission *PermissionTransactorSession) SetAdminNode(_nodeId string, _ip string, _port string, _nodeName string, _nodeAddress common.Address) (*types.Transaction, error) { 681 return _Permission.Contract.SetAdminNode(&_Permission.TransactOpts, _nodeId, _ip, _port, _nodeName, _nodeAddress) 682 } 683 684 // UpdateNodeInfo is a paid mutator transaction binding the contract method 0x69c0fc6b. 685 // 686 // Solidity: function updateNodeInfo(string _nodeId, string _ip, string _port) returns() 687 func (_Permission *PermissionTransactor) UpdateNodeInfo(opts *bind.TransactOpts, _nodeId string, _ip string, _port string) (*types.Transaction, error) { 688 return _Permission.contract.Transact(opts, "updateNodeInfo", _nodeId, _ip, _port) 689 } 690 691 // UpdateNodeInfo is a paid mutator transaction binding the contract method 0x69c0fc6b. 692 // 693 // Solidity: function updateNodeInfo(string _nodeId, string _ip, string _port) returns() 694 func (_Permission *PermissionSession) UpdateNodeInfo(_nodeId string, _ip string, _port string) (*types.Transaction, error) { 695 return _Permission.Contract.UpdateNodeInfo(&_Permission.TransactOpts, _nodeId, _ip, _port) 696 } 697 698 // UpdateNodeInfo is a paid mutator transaction binding the contract method 0x69c0fc6b. 699 // 700 // Solidity: function updateNodeInfo(string _nodeId, string _ip, string _port) returns() 701 func (_Permission *PermissionTransactorSession) UpdateNodeInfo(_nodeId string, _ip string, _port string) (*types.Transaction, error) { 702 return _Permission.Contract.UpdateNodeInfo(&_Permission.TransactOpts, _nodeId, _ip, _port) 703 } 704 705 // UpdateNodeName is a paid mutator transaction binding the contract method 0x1cd0b206. 706 // 707 // Solidity: function updateNodeName(string _nodeId, string _nodeName) returns() 708 func (_Permission *PermissionTransactor) UpdateNodeName(opts *bind.TransactOpts, _nodeId string, _nodeName string) (*types.Transaction, error) { 709 return _Permission.contract.Transact(opts, "updateNodeName", _nodeId, _nodeName) 710 } 711 712 // UpdateNodeName is a paid mutator transaction binding the contract method 0x1cd0b206. 713 // 714 // Solidity: function updateNodeName(string _nodeId, string _nodeName) returns() 715 func (_Permission *PermissionSession) UpdateNodeName(_nodeId string, _nodeName string) (*types.Transaction, error) { 716 return _Permission.Contract.UpdateNodeName(&_Permission.TransactOpts, _nodeId, _nodeName) 717 } 718 719 // UpdateNodeName is a paid mutator transaction binding the contract method 0x1cd0b206. 720 // 721 // Solidity: function updateNodeName(string _nodeId, string _nodeName) returns() 722 func (_Permission *PermissionTransactorSession) UpdateNodeName(_nodeId string, _nodeName string) (*types.Transaction, error) { 723 return _Permission.Contract.UpdateNodeName(&_Permission.TransactOpts, _nodeId, _nodeName) 724 } 725 726 // VoteForNewNodeApply is a paid mutator transaction binding the contract method 0xf4812238. 727 // 728 // Solidity: function voteForNewNodeApply(string _nodeId, string _voterNodeId) payable returns() 729 func (_Permission *PermissionTransactor) VoteForNewNodeApply(opts *bind.TransactOpts, _nodeId string, _voterNodeId string) (*types.Transaction, error) { 730 return _Permission.contract.Transact(opts, "voteForNewNodeApply", _nodeId, _voterNodeId) 731 } 732 733 // VoteForNewNodeApply is a paid mutator transaction binding the contract method 0xf4812238. 734 // 735 // Solidity: function voteForNewNodeApply(string _nodeId, string _voterNodeId) payable returns() 736 func (_Permission *PermissionSession) VoteForNewNodeApply(_nodeId string, _voterNodeId string) (*types.Transaction, error) { 737 return _Permission.Contract.VoteForNewNodeApply(&_Permission.TransactOpts, _nodeId, _voterNodeId) 738 } 739 740 // VoteForNewNodeApply is a paid mutator transaction binding the contract method 0xf4812238. 741 // 742 // Solidity: function voteForNewNodeApply(string _nodeId, string _voterNodeId) payable returns() 743 func (_Permission *PermissionTransactorSession) VoteForNewNodeApply(_nodeId string, _voterNodeId string) (*types.Transaction, error) { 744 return _Permission.Contract.VoteForNewNodeApply(&_Permission.TransactOpts, _nodeId, _voterNodeId) 745 } 746 747 // VoteForRoleChange is a paid mutator transaction binding the contract method 0x66aa2299. 748 // 749 // Solidity: function voteForRoleChange(string _nodeId, string _voterNodeId, string _opCode) payable returns() 750 func (_Permission *PermissionTransactor) VoteForRoleChange(opts *bind.TransactOpts, _nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error) { 751 return _Permission.contract.Transact(opts, "voteForRoleChange", _nodeId, _voterNodeId, _opCode) 752 } 753 754 // VoteForRoleChange is a paid mutator transaction binding the contract method 0x66aa2299. 755 // 756 // Solidity: function voteForRoleChange(string _nodeId, string _voterNodeId, string _opCode) payable returns() 757 func (_Permission *PermissionSession) VoteForRoleChange(_nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error) { 758 return _Permission.Contract.VoteForRoleChange(&_Permission.TransactOpts, _nodeId, _voterNodeId, _opCode) 759 } 760 761 // VoteForRoleChange is a paid mutator transaction binding the contract method 0x66aa2299. 762 // 763 // Solidity: function voteForRoleChange(string _nodeId, string _voterNodeId, string _opCode) payable returns() 764 func (_Permission *PermissionTransactorSession) VoteForRoleChange(_nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error) { 765 return _Permission.Contract.VoteForRoleChange(&_Permission.TransactOpts, _nodeId, _voterNodeId, _opCode) 766 } 767 768 // PermissionAddNewNodeNotifyIterator is returned from FilterAddNewNodeNotify and is used to iterate over the raw logs and unpacked data for AddNewNodeNotify events raised by the Permission contract. 769 type PermissionAddNewNodeNotifyIterator struct { 770 Event *PermissionAddNewNodeNotify // Event containing the contract specifics and raw log 771 772 contract *bind.BoundContract // Generic contract to use for unpacking event data 773 event string // Event name to use for unpacking event data 774 775 logs chan types.Log // Log channel receiving the found contract events 776 sub ethereum.Subscription // Subscription for errors, completion and termination 777 done bool // Whether the subscription completed delivering logs 778 fail error // Occurred error to stop iteration 779 } 780 781 // Next advances the iterator to the subsequent event, returning whether there 782 // are any more events found. In case of a retrieval or parsing error, false is 783 // returned and Error() can be queried for the exact failure. 784 func (it *PermissionAddNewNodeNotifyIterator) Next() bool { 785 // If the iterator failed, stop iterating 786 if it.fail != nil { 787 return false 788 } 789 // If the iterator completed, deliver directly whatever's available 790 if it.done { 791 select { 792 case log := <-it.logs: 793 it.Event = new(PermissionAddNewNodeNotify) 794 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 795 it.fail = err 796 return false 797 } 798 it.Event.Raw = log 799 return true 800 801 default: 802 return false 803 } 804 } 805 // Iterator still in progress, wait for either a data or an error event 806 select { 807 case log := <-it.logs: 808 it.Event = new(PermissionAddNewNodeNotify) 809 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 810 it.fail = err 811 return false 812 } 813 it.Event.Raw = log 814 return true 815 816 case err := <-it.sub.Err(): 817 it.done = true 818 it.fail = err 819 return it.Next() 820 } 821 } 822 823 // Error returns any retrieval or parsing error occurred during filtering. 824 func (it *PermissionAddNewNodeNotifyIterator) Error() error { 825 return it.fail 826 } 827 828 // Close terminates the iteration process, releasing any pending underlying 829 // resources. 830 func (it *PermissionAddNewNodeNotifyIterator) Close() error { 831 it.sub.Unsubscribe() 832 return nil 833 } 834 835 // PermissionAddNewNodeNotify represents a AddNewNodeNotify event raised by the Permission contract. 836 type PermissionAddNewNodeNotify struct { 837 EnodeId string 838 Ip string 839 Port string 840 Raw types.Log // Blockchain specific contextual infos 841 } 842 843 // FilterAddNewNodeNotify is a free log retrieval operation binding the contract event 0x6038668b2430850a4f25a86d399648514d6cde42bca6b534937d6c78193fc287. 844 // 845 // Solidity: event AddNewNodeNotify(string enodeId, string ip, string port) 846 func (_Permission *PermissionFilterer) FilterAddNewNodeNotify(opts *bind.FilterOpts) (*PermissionAddNewNodeNotifyIterator, error) { 847 848 logs, sub, err := _Permission.contract.FilterLogs(opts, "AddNewNodeNotify") 849 if err != nil { 850 return nil, err 851 } 852 return &PermissionAddNewNodeNotifyIterator{contract: _Permission.contract, event: "AddNewNodeNotify", logs: logs, sub: sub}, nil 853 } 854 855 // WatchAddNewNodeNotify is a free log subscription operation binding the contract event 0x6038668b2430850a4f25a86d399648514d6cde42bca6b534937d6c78193fc287. 856 // 857 // Solidity: event AddNewNodeNotify(string enodeId, string ip, string port) 858 func (_Permission *PermissionFilterer) WatchAddNewNodeNotify(opts *bind.WatchOpts, sink chan<- *PermissionAddNewNodeNotify) (event.Subscription, error) { 859 860 logs, sub, err := _Permission.contract.WatchLogs(opts, "AddNewNodeNotify") 861 if err != nil { 862 return nil, err 863 } 864 return event.NewSubscription(func(quit <-chan struct{}) error { 865 defer sub.Unsubscribe() 866 for { 867 select { 868 case log := <-logs: 869 // New log arrived, parse the event and forward to the user 870 event := new(PermissionAddNewNodeNotify) 871 if err := _Permission.contract.UnpackLog(event, "AddNewNodeNotify", log); err != nil { 872 return err 873 } 874 event.Raw = log 875 876 select { 877 case sink <- event: 878 case err := <-sub.Err(): 879 return err 880 case <-quit: 881 return nil 882 } 883 case err := <-sub.Err(): 884 return err 885 case <-quit: 886 return nil 887 } 888 } 889 }), nil 890 } 891 892 // ParseAddNewNodeNotify is a log parse operation binding the contract event 0x6038668b2430850a4f25a86d399648514d6cde42bca6b534937d6c78193fc287. 893 // 894 // Solidity: event AddNewNodeNotify(string enodeId, string ip, string port) 895 func (_Permission *PermissionFilterer) ParseAddNewNodeNotify(log types.Log) (*PermissionAddNewNodeNotify, error) { 896 event := new(PermissionAddNewNodeNotify) 897 if err := _Permission.contract.UnpackLog(event, "AddNewNodeNotify", log); err != nil { 898 return nil, err 899 } 900 event.Raw = log 901 return event, nil 902 } 903 904 // PermissionApplyByAdminNotifyIterator is returned from FilterApplyByAdminNotify and is used to iterate over the raw logs and unpacked data for ApplyByAdminNotify events raised by the Permission contract. 905 type PermissionApplyByAdminNotifyIterator struct { 906 Event *PermissionApplyByAdminNotify // Event containing the contract specifics and raw log 907 908 contract *bind.BoundContract // Generic contract to use for unpacking event data 909 event string // Event name to use for unpacking event data 910 911 logs chan types.Log // Log channel receiving the found contract events 912 sub ethereum.Subscription // Subscription for errors, completion and termination 913 done bool // Whether the subscription completed delivering logs 914 fail error // Occurred error to stop iteration 915 } 916 917 // Next advances the iterator to the subsequent event, returning whether there 918 // are any more events found. In case of a retrieval or parsing error, false is 919 // returned and Error() can be queried for the exact failure. 920 func (it *PermissionApplyByAdminNotifyIterator) Next() bool { 921 // If the iterator failed, stop iterating 922 if it.fail != nil { 923 return false 924 } 925 // If the iterator completed, deliver directly whatever's available 926 if it.done { 927 select { 928 case log := <-it.logs: 929 it.Event = new(PermissionApplyByAdminNotify) 930 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 931 it.fail = err 932 return false 933 } 934 it.Event.Raw = log 935 return true 936 937 default: 938 return false 939 } 940 } 941 // Iterator still in progress, wait for either a data or an error event 942 select { 943 case log := <-it.logs: 944 it.Event = new(PermissionApplyByAdminNotify) 945 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 946 it.fail = err 947 return false 948 } 949 it.Event.Raw = log 950 return true 951 952 case err := <-it.sub.Err(): 953 it.done = true 954 it.fail = err 955 return it.Next() 956 } 957 } 958 959 // Error returns any retrieval or parsing error occurred during filtering. 960 func (it *PermissionApplyByAdminNotifyIterator) Error() error { 961 return it.fail 962 } 963 964 // Close terminates the iteration process, releasing any pending underlying 965 // resources. 966 func (it *PermissionApplyByAdminNotifyIterator) Close() error { 967 it.sub.Unsubscribe() 968 return nil 969 } 970 971 // PermissionApplyByAdminNotify represents a ApplyByAdminNotify event raised by the Permission contract. 972 type PermissionApplyByAdminNotify struct { 973 EnodeId string 974 Raw types.Log // Blockchain specific contextual infos 975 } 976 977 // FilterApplyByAdminNotify is a free log retrieval operation binding the contract event 0x5e330ce69c9b3b5247e5759b06dc7fc78e57a2519cf6c6f8e8c70198da7ccc8e. 978 // 979 // Solidity: event ApplyByAdminNotify(string enodeId) 980 func (_Permission *PermissionFilterer) FilterApplyByAdminNotify(opts *bind.FilterOpts) (*PermissionApplyByAdminNotifyIterator, error) { 981 982 logs, sub, err := _Permission.contract.FilterLogs(opts, "ApplyByAdminNotify") 983 if err != nil { 984 return nil, err 985 } 986 return &PermissionApplyByAdminNotifyIterator{contract: _Permission.contract, event: "ApplyByAdminNotify", logs: logs, sub: sub}, nil 987 } 988 989 // WatchApplyByAdminNotify is a free log subscription operation binding the contract event 0x5e330ce69c9b3b5247e5759b06dc7fc78e57a2519cf6c6f8e8c70198da7ccc8e. 990 // 991 // Solidity: event ApplyByAdminNotify(string enodeId) 992 func (_Permission *PermissionFilterer) WatchApplyByAdminNotify(opts *bind.WatchOpts, sink chan<- *PermissionApplyByAdminNotify) (event.Subscription, error) { 993 994 logs, sub, err := _Permission.contract.WatchLogs(opts, "ApplyByAdminNotify") 995 if err != nil { 996 return nil, err 997 } 998 return event.NewSubscription(func(quit <-chan struct{}) error { 999 defer sub.Unsubscribe() 1000 for { 1001 select { 1002 case log := <-logs: 1003 // New log arrived, parse the event and forward to the user 1004 event := new(PermissionApplyByAdminNotify) 1005 if err := _Permission.contract.UnpackLog(event, "ApplyByAdminNotify", log); err != nil { 1006 return err 1007 } 1008 event.Raw = log 1009 1010 select { 1011 case sink <- event: 1012 case err := <-sub.Err(): 1013 return err 1014 case <-quit: 1015 return nil 1016 } 1017 case err := <-sub.Err(): 1018 return err 1019 case <-quit: 1020 return nil 1021 } 1022 } 1023 }), nil 1024 } 1025 1026 // ParseApplyByAdminNotify is a log parse operation binding the contract event 0x5e330ce69c9b3b5247e5759b06dc7fc78e57a2519cf6c6f8e8c70198da7ccc8e. 1027 // 1028 // Solidity: event ApplyByAdminNotify(string enodeId) 1029 func (_Permission *PermissionFilterer) ParseApplyByAdminNotify(log types.Log) (*PermissionApplyByAdminNotify, error) { 1030 event := new(PermissionApplyByAdminNotify) 1031 if err := _Permission.contract.UnpackLog(event, "ApplyByAdminNotify", log); err != nil { 1032 return nil, err 1033 } 1034 event.Raw = log 1035 return event, nil 1036 } 1037 1038 // PermissionVerifyNotifyIterator is returned from FilterVerifyNotify and is used to iterate over the raw logs and unpacked data for VerifyNotify events raised by the Permission contract. 1039 type PermissionVerifyNotifyIterator struct { 1040 Event *PermissionVerifyNotify // Event containing the contract specifics and raw log 1041 1042 contract *bind.BoundContract // Generic contract to use for unpacking event data 1043 event string // Event name to use for unpacking event data 1044 1045 logs chan types.Log // Log channel receiving the found contract events 1046 sub ethereum.Subscription // Subscription for errors, completion and termination 1047 done bool // Whether the subscription completed delivering logs 1048 fail error // Occurred error to stop iteration 1049 } 1050 1051 // Next advances the iterator to the subsequent event, returning whether there 1052 // are any more events found. In case of a retrieval or parsing error, false is 1053 // returned and Error() can be queried for the exact failure. 1054 func (it *PermissionVerifyNotifyIterator) Next() bool { 1055 // If the iterator failed, stop iterating 1056 if it.fail != nil { 1057 return false 1058 } 1059 // If the iterator completed, deliver directly whatever's available 1060 if it.done { 1061 select { 1062 case log := <-it.logs: 1063 it.Event = new(PermissionVerifyNotify) 1064 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1065 it.fail = err 1066 return false 1067 } 1068 it.Event.Raw = log 1069 return true 1070 1071 default: 1072 return false 1073 } 1074 } 1075 // Iterator still in progress, wait for either a data or an error event 1076 select { 1077 case log := <-it.logs: 1078 it.Event = new(PermissionVerifyNotify) 1079 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1080 it.fail = err 1081 return false 1082 } 1083 it.Event.Raw = log 1084 return true 1085 1086 case err := <-it.sub.Err(): 1087 it.done = true 1088 it.fail = err 1089 return it.Next() 1090 } 1091 } 1092 1093 // Error returns any retrieval or parsing error occurred during filtering. 1094 func (it *PermissionVerifyNotifyIterator) Error() error { 1095 return it.fail 1096 } 1097 1098 // Close terminates the iteration process, releasing any pending underlying 1099 // resources. 1100 func (it *PermissionVerifyNotifyIterator) Close() error { 1101 it.sub.Unsubscribe() 1102 return nil 1103 } 1104 1105 // PermissionVerifyNotify represents a VerifyNotify event raised by the Permission contract. 1106 type PermissionVerifyNotify struct { 1107 EnodeId string 1108 OpCode *big.Int 1109 Ip string 1110 Port string 1111 Raw types.Log // Blockchain specific contextual infos 1112 } 1113 1114 // FilterVerifyNotify is a free log retrieval operation binding the contract event 0xe2079629d960c01f0a2e7d2ceb7c4fbe84915ec15bfdb1ea6412f0c92333aaf7. 1115 // 1116 // Solidity: event VerifyNotify(string enodeId, uint256 opCode, string ip, string port) 1117 func (_Permission *PermissionFilterer) FilterVerifyNotify(opts *bind.FilterOpts) (*PermissionVerifyNotifyIterator, error) { 1118 1119 logs, sub, err := _Permission.contract.FilterLogs(opts, "VerifyNotify") 1120 if err != nil { 1121 return nil, err 1122 } 1123 return &PermissionVerifyNotifyIterator{contract: _Permission.contract, event: "VerifyNotify", logs: logs, sub: sub}, nil 1124 } 1125 1126 // WatchVerifyNotify is a free log subscription operation binding the contract event 0xe2079629d960c01f0a2e7d2ceb7c4fbe84915ec15bfdb1ea6412f0c92333aaf7. 1127 // 1128 // Solidity: event VerifyNotify(string enodeId, uint256 opCode, string ip, string port) 1129 func (_Permission *PermissionFilterer) WatchVerifyNotify(opts *bind.WatchOpts, sink chan<- *PermissionVerifyNotify) (event.Subscription, error) { 1130 1131 logs, sub, err := _Permission.contract.WatchLogs(opts, "VerifyNotify") 1132 if err != nil { 1133 return nil, err 1134 } 1135 return event.NewSubscription(func(quit <-chan struct{}) error { 1136 defer sub.Unsubscribe() 1137 for { 1138 select { 1139 case log := <-logs: 1140 // New log arrived, parse the event and forward to the user 1141 event := new(PermissionVerifyNotify) 1142 if err := _Permission.contract.UnpackLog(event, "VerifyNotify", log); err != nil { 1143 return err 1144 } 1145 event.Raw = log 1146 1147 select { 1148 case sink <- event: 1149 case err := <-sub.Err(): 1150 return err 1151 case <-quit: 1152 return nil 1153 } 1154 case err := <-sub.Err(): 1155 return err 1156 case <-quit: 1157 return nil 1158 } 1159 } 1160 }), nil 1161 } 1162 1163 // ParseVerifyNotify is a log parse operation binding the contract event 0xe2079629d960c01f0a2e7d2ceb7c4fbe84915ec15bfdb1ea6412f0c92333aaf7. 1164 // 1165 // Solidity: event VerifyNotify(string enodeId, uint256 opCode, string ip, string port) 1166 func (_Permission *PermissionFilterer) ParseVerifyNotify(log types.Log) (*PermissionVerifyNotify, error) { 1167 event := new(PermissionVerifyNotify) 1168 if err := _Permission.contract.UnpackLog(event, "VerifyNotify", log); err != nil { 1169 return nil, err 1170 } 1171 event.Raw = log 1172 return event, nil 1173 } 1174 1175 // PermissionIsAdminRoleEventIterator is returned from FilterIsAdminRoleEvent and is used to iterate over the raw logs and unpacked data for IsAdminRoleEvent events raised by the Permission contract. 1176 type PermissionIsAdminRoleEventIterator struct { 1177 Event *PermissionIsAdminRoleEvent // Event containing the contract specifics and raw log 1178 1179 contract *bind.BoundContract // Generic contract to use for unpacking event data 1180 event string // Event name to use for unpacking event data 1181 1182 logs chan types.Log // Log channel receiving the found contract events 1183 sub ethereum.Subscription // Subscription for errors, completion and termination 1184 done bool // Whether the subscription completed delivering logs 1185 fail error // Occurred error to stop iteration 1186 } 1187 1188 // Next advances the iterator to the subsequent event, returning whether there 1189 // are any more events found. In case of a retrieval or parsing error, false is 1190 // returned and Error() can be queried for the exact failure. 1191 func (it *PermissionIsAdminRoleEventIterator) Next() bool { 1192 // If the iterator failed, stop iterating 1193 if it.fail != nil { 1194 return false 1195 } 1196 // If the iterator completed, deliver directly whatever's available 1197 if it.done { 1198 select { 1199 case log := <-it.logs: 1200 it.Event = new(PermissionIsAdminRoleEvent) 1201 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1202 it.fail = err 1203 return false 1204 } 1205 it.Event.Raw = log 1206 return true 1207 1208 default: 1209 return false 1210 } 1211 } 1212 // Iterator still in progress, wait for either a data or an error event 1213 select { 1214 case log := <-it.logs: 1215 it.Event = new(PermissionIsAdminRoleEvent) 1216 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1217 it.fail = err 1218 return false 1219 } 1220 it.Event.Raw = log 1221 return true 1222 1223 case err := <-it.sub.Err(): 1224 it.done = true 1225 it.fail = err 1226 return it.Next() 1227 } 1228 } 1229 1230 // Error returns any retrieval or parsing error occurred during filtering. 1231 func (it *PermissionIsAdminRoleEventIterator) Error() error { 1232 return it.fail 1233 } 1234 1235 // Close terminates the iteration process, releasing any pending underlying 1236 // resources. 1237 func (it *PermissionIsAdminRoleEventIterator) Close() error { 1238 it.sub.Unsubscribe() 1239 return nil 1240 } 1241 1242 // PermissionIsAdminRoleEvent represents a IsAdminRoleEvent event raised by the Permission contract. 1243 type PermissionIsAdminRoleEvent struct { 1244 NodeId string 1245 Sender common.Address 1246 Raw types.Log // Blockchain specific contextual infos 1247 } 1248 1249 // FilterIsAdminRoleEvent is a free log retrieval operation binding the contract event 0xb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be. 1250 // 1251 // Solidity: event isAdminRoleEvent(string _nodeId, address _sender) 1252 func (_Permission *PermissionFilterer) FilterIsAdminRoleEvent(opts *bind.FilterOpts) (*PermissionIsAdminRoleEventIterator, error) { 1253 1254 logs, sub, err := _Permission.contract.FilterLogs(opts, "isAdminRoleEvent") 1255 if err != nil { 1256 return nil, err 1257 } 1258 return &PermissionIsAdminRoleEventIterator{contract: _Permission.contract, event: "isAdminRoleEvent", logs: logs, sub: sub}, nil 1259 } 1260 1261 // WatchIsAdminRoleEvent is a free log subscription operation binding the contract event 0xb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be. 1262 // 1263 // Solidity: event isAdminRoleEvent(string _nodeId, address _sender) 1264 func (_Permission *PermissionFilterer) WatchIsAdminRoleEvent(opts *bind.WatchOpts, sink chan<- *PermissionIsAdminRoleEvent) (event.Subscription, error) { 1265 1266 logs, sub, err := _Permission.contract.WatchLogs(opts, "isAdminRoleEvent") 1267 if err != nil { 1268 return nil, err 1269 } 1270 return event.NewSubscription(func(quit <-chan struct{}) error { 1271 defer sub.Unsubscribe() 1272 for { 1273 select { 1274 case log := <-logs: 1275 // New log arrived, parse the event and forward to the user 1276 event := new(PermissionIsAdminRoleEvent) 1277 if err := _Permission.contract.UnpackLog(event, "isAdminRoleEvent", log); err != nil { 1278 return err 1279 } 1280 event.Raw = log 1281 1282 select { 1283 case sink <- event: 1284 case err := <-sub.Err(): 1285 return err 1286 case <-quit: 1287 return nil 1288 } 1289 case err := <-sub.Err(): 1290 return err 1291 case <-quit: 1292 return nil 1293 } 1294 } 1295 }), nil 1296 } 1297 1298 // ParseIsAdminRoleEvent is a log parse operation binding the contract event 0xb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be. 1299 // 1300 // Solidity: event isAdminRoleEvent(string _nodeId, address _sender) 1301 func (_Permission *PermissionFilterer) ParseIsAdminRoleEvent(log types.Log) (*PermissionIsAdminRoleEvent, error) { 1302 event := new(PermissionIsAdminRoleEvent) 1303 if err := _Permission.contract.UnpackLog(event, "isAdminRoleEvent", log); err != nil { 1304 return nil, err 1305 } 1306 event.Raw = log 1307 return event, nil 1308 } 1309 1310 // PermissionIsVotedEventIterator is returned from FilterIsVotedEvent and is used to iterate over the raw logs and unpacked data for IsVotedEvent events raised by the Permission contract. 1311 type PermissionIsVotedEventIterator struct { 1312 Event *PermissionIsVotedEvent // Event containing the contract specifics and raw log 1313 1314 contract *bind.BoundContract // Generic contract to use for unpacking event data 1315 event string // Event name to use for unpacking event data 1316 1317 logs chan types.Log // Log channel receiving the found contract events 1318 sub ethereum.Subscription // Subscription for errors, completion and termination 1319 done bool // Whether the subscription completed delivering logs 1320 fail error // Occurred error to stop iteration 1321 } 1322 1323 // Next advances the iterator to the subsequent event, returning whether there 1324 // are any more events found. In case of a retrieval or parsing error, false is 1325 // returned and Error() can be queried for the exact failure. 1326 func (it *PermissionIsVotedEventIterator) Next() bool { 1327 // If the iterator failed, stop iterating 1328 if it.fail != nil { 1329 return false 1330 } 1331 // If the iterator completed, deliver directly whatever's available 1332 if it.done { 1333 select { 1334 case log := <-it.logs: 1335 it.Event = new(PermissionIsVotedEvent) 1336 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1337 it.fail = err 1338 return false 1339 } 1340 it.Event.Raw = log 1341 return true 1342 1343 default: 1344 return false 1345 } 1346 } 1347 // Iterator still in progress, wait for either a data or an error event 1348 select { 1349 case log := <-it.logs: 1350 it.Event = new(PermissionIsVotedEvent) 1351 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1352 it.fail = err 1353 return false 1354 } 1355 it.Event.Raw = log 1356 return true 1357 1358 case err := <-it.sub.Err(): 1359 it.done = true 1360 it.fail = err 1361 return it.Next() 1362 } 1363 } 1364 1365 // Error returns any retrieval or parsing error occurred during filtering. 1366 func (it *PermissionIsVotedEventIterator) Error() error { 1367 return it.fail 1368 } 1369 1370 // Close terminates the iteration process, releasing any pending underlying 1371 // resources. 1372 func (it *PermissionIsVotedEventIterator) Close() error { 1373 it.sub.Unsubscribe() 1374 return nil 1375 } 1376 1377 // PermissionIsVotedEvent represents a IsVotedEvent event raised by the Permission contract. 1378 type PermissionIsVotedEvent struct { 1379 NodeId string 1380 OpCode string 1381 VoterNodeId string 1382 Raw types.Log // Blockchain specific contextual infos 1383 } 1384 1385 // FilterIsVotedEvent is a free log retrieval operation binding the contract event 0xe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d485. 1386 // 1387 // Solidity: event isVotedEvent(string _nodeId, string _opCode, string _voterNodeId) 1388 func (_Permission *PermissionFilterer) FilterIsVotedEvent(opts *bind.FilterOpts) (*PermissionIsVotedEventIterator, error) { 1389 1390 logs, sub, err := _Permission.contract.FilterLogs(opts, "isVotedEvent") 1391 if err != nil { 1392 return nil, err 1393 } 1394 return &PermissionIsVotedEventIterator{contract: _Permission.contract, event: "isVotedEvent", logs: logs, sub: sub}, nil 1395 } 1396 1397 // WatchIsVotedEvent is a free log subscription operation binding the contract event 0xe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d485. 1398 // 1399 // Solidity: event isVotedEvent(string _nodeId, string _opCode, string _voterNodeId) 1400 func (_Permission *PermissionFilterer) WatchIsVotedEvent(opts *bind.WatchOpts, sink chan<- *PermissionIsVotedEvent) (event.Subscription, error) { 1401 1402 logs, sub, err := _Permission.contract.WatchLogs(opts, "isVotedEvent") 1403 if err != nil { 1404 return nil, err 1405 } 1406 return event.NewSubscription(func(quit <-chan struct{}) error { 1407 defer sub.Unsubscribe() 1408 for { 1409 select { 1410 case log := <-logs: 1411 // New log arrived, parse the event and forward to the user 1412 event := new(PermissionIsVotedEvent) 1413 if err := _Permission.contract.UnpackLog(event, "isVotedEvent", log); err != nil { 1414 return err 1415 } 1416 event.Raw = log 1417 1418 select { 1419 case sink <- event: 1420 case err := <-sub.Err(): 1421 return err 1422 case <-quit: 1423 return nil 1424 } 1425 case err := <-sub.Err(): 1426 return err 1427 case <-quit: 1428 return nil 1429 } 1430 } 1431 }), nil 1432 } 1433 1434 // ParseIsVotedEvent is a log parse operation binding the contract event 0xe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d485. 1435 // 1436 // Solidity: event isVotedEvent(string _nodeId, string _opCode, string _voterNodeId) 1437 func (_Permission *PermissionFilterer) ParseIsVotedEvent(log types.Log) (*PermissionIsVotedEvent, error) { 1438 event := new(PermissionIsVotedEvent) 1439 if err := _Permission.contract.UnpackLog(event, "isVotedEvent", log); err != nil { 1440 return nil, err 1441 } 1442 event.Raw = log 1443 return event, nil 1444 } 1445 1446 // PermissionNetworkInitCompleteIterator is returned from FilterNetworkInitComplete and is used to iterate over the raw logs and unpacked data for NetworkInitComplete events raised by the Permission contract. 1447 type PermissionNetworkInitCompleteIterator struct { 1448 Event *PermissionNetworkInitComplete // Event containing the contract specifics and raw log 1449 1450 contract *bind.BoundContract // Generic contract to use for unpacking event data 1451 event string // Event name to use for unpacking event data 1452 1453 logs chan types.Log // Log channel receiving the found contract events 1454 sub ethereum.Subscription // Subscription for errors, completion and termination 1455 done bool // Whether the subscription completed delivering logs 1456 fail error // Occurred error to stop iteration 1457 } 1458 1459 // Next advances the iterator to the subsequent event, returning whether there 1460 // are any more events found. In case of a retrieval or parsing error, false is 1461 // returned and Error() can be queried for the exact failure. 1462 func (it *PermissionNetworkInitCompleteIterator) Next() bool { 1463 // If the iterator failed, stop iterating 1464 if it.fail != nil { 1465 return false 1466 } 1467 // If the iterator completed, deliver directly whatever's available 1468 if it.done { 1469 select { 1470 case log := <-it.logs: 1471 it.Event = new(PermissionNetworkInitComplete) 1472 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1473 it.fail = err 1474 return false 1475 } 1476 it.Event.Raw = log 1477 return true 1478 1479 default: 1480 return false 1481 } 1482 } 1483 // Iterator still in progress, wait for either a data or an error event 1484 select { 1485 case log := <-it.logs: 1486 it.Event = new(PermissionNetworkInitComplete) 1487 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1488 it.fail = err 1489 return false 1490 } 1491 it.Event.Raw = log 1492 return true 1493 1494 case err := <-it.sub.Err(): 1495 it.done = true 1496 it.fail = err 1497 return it.Next() 1498 } 1499 } 1500 1501 // Error returns any retrieval or parsing error occurred during filtering. 1502 func (it *PermissionNetworkInitCompleteIterator) Error() error { 1503 return it.fail 1504 } 1505 1506 // Close terminates the iteration process, releasing any pending underlying 1507 // resources. 1508 func (it *PermissionNetworkInitCompleteIterator) Close() error { 1509 it.sub.Unsubscribe() 1510 return nil 1511 } 1512 1513 // PermissionNetworkInitComplete represents a NetworkInitComplete event raised by the Permission contract. 1514 type PermissionNetworkInitComplete struct { 1515 Number *big.Int 1516 Timestamp *big.Int 1517 Raw types.Log // Blockchain specific contextual infos 1518 } 1519 1520 // FilterNetworkInitComplete is a free log retrieval operation binding the contract event 0xd57c71a2984069403b4307775755ca30b183c3f5c9eb595659a1a4488d503035. 1521 // 1522 // Solidity: event networkInitComplete(uint256 number, uint256 timestamp) 1523 func (_Permission *PermissionFilterer) FilterNetworkInitComplete(opts *bind.FilterOpts) (*PermissionNetworkInitCompleteIterator, error) { 1524 1525 logs, sub, err := _Permission.contract.FilterLogs(opts, "networkInitComplete") 1526 if err != nil { 1527 return nil, err 1528 } 1529 return &PermissionNetworkInitCompleteIterator{contract: _Permission.contract, event: "networkInitComplete", logs: logs, sub: sub}, nil 1530 } 1531 1532 // WatchNetworkInitComplete is a free log subscription operation binding the contract event 0xd57c71a2984069403b4307775755ca30b183c3f5c9eb595659a1a4488d503035. 1533 // 1534 // Solidity: event networkInitComplete(uint256 number, uint256 timestamp) 1535 func (_Permission *PermissionFilterer) WatchNetworkInitComplete(opts *bind.WatchOpts, sink chan<- *PermissionNetworkInitComplete) (event.Subscription, error) { 1536 1537 logs, sub, err := _Permission.contract.WatchLogs(opts, "networkInitComplete") 1538 if err != nil { 1539 return nil, err 1540 } 1541 return event.NewSubscription(func(quit <-chan struct{}) error { 1542 defer sub.Unsubscribe() 1543 for { 1544 select { 1545 case log := <-logs: 1546 // New log arrived, parse the event and forward to the user 1547 event := new(PermissionNetworkInitComplete) 1548 if err := _Permission.contract.UnpackLog(event, "networkInitComplete", log); err != nil { 1549 return err 1550 } 1551 event.Raw = log 1552 1553 select { 1554 case sink <- event: 1555 case err := <-sub.Err(): 1556 return err 1557 case <-quit: 1558 return nil 1559 } 1560 case err := <-sub.Err(): 1561 return err 1562 case <-quit: 1563 return nil 1564 } 1565 } 1566 }), nil 1567 } 1568 1569 // ParseNetworkInitComplete is a log parse operation binding the contract event 0xd57c71a2984069403b4307775755ca30b183c3f5c9eb595659a1a4488d503035. 1570 // 1571 // Solidity: event networkInitComplete(uint256 number, uint256 timestamp) 1572 func (_Permission *PermissionFilterer) ParseNetworkInitComplete(log types.Log) (*PermissionNetworkInitComplete, error) { 1573 event := new(PermissionNetworkInitComplete) 1574 if err := _Permission.contract.UnpackLog(event, "networkInitComplete", log); err != nil { 1575 return nil, err 1576 } 1577 event.Raw = log 1578 return event, nil 1579 }