permission

package
v0.0.0-...-8ad0a2a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2024 License: GPL-3.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Join     = 0
	Remove   = 1
	Normal   = 0 //normal node
	Isolated = 1
	Admin    = 2
)
View Source
var PermissionABI = PermissionMetaData.ABI

PermissionABI is the input ABI used to generate the binding from. Deprecated: Use PermissionMetaData.ABI instead.

View Source
var PermissionBin = PermissionMetaData.Bin

PermissionBin is the compiled bytecode used for deploying new contracts. Deprecated: Use PermissionMetaData.Bin instead.

View Source
var PermissionFuncSigs = PermissionMetaData.Sigs

Deprecated: Use PermissionMetaData.Sigs instead. PermissionFuncSigs maps the 4-byte function signature to its string representation.

View Source
var PermissionMetaData = &bind.MetaData{
	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\"}]",
	Sigs: map[string]string{
		"2d0207f8": "disagree(string,string,string)",
		"e7fb5388": "exit(string)",
		"8b7bf3eb": "getAdminCount()",
		"24781773": "getAllStatingRecord()",
		"c88120d6": "getInfoByName(string)",
		"89e93d71": "getLastStatistics(string,string)",
		"d5eda3b1": "getNodeByRole(uint256)",
		"6fdde422": "getNodeMap(string)",
		"edbfe56d": "getOriginators()",
		"99439b69": "initFinish()",
		"72d14480": "isAdmin(bytes32)",
		"a247e4dd": "isInitFinished()",
		"05247ce6": "makeProposeForAddNewNode(string,string,string,string,address,string)",
		"2566dfb0": "makeProposeForRoleChange(string,string,string)",
		"1b128f61": "nodeExists(string)",
		"bbe25f2c": "setAdminNode(string,string,string,string,address)",
		"69c0fc6b": "updateNodeInfo(string,string,string)",
		"1cd0b206": "updateNodeName(string,string)",
		"f4812238": "voteForNewNodeApply(string,string)",
		"66aa2299": "voteForRoleChange(string,string,string)",
	},
	Bin: "0x60806040526000805460ff1916905534801561001a57600080fd5b50616d41806200002b6000396000f3fe60806040526004361061011f5760003560e01c806389e93d71116100a0578063c88120d611610064578063c88120d6146114b5578063d5eda3b114611566578063e7fb538814611590578063edbfe56d14611641578063f4812238146116a65761011f565b806389e93d7114610ff05780638b7bf3eb1461121957806399439b6914611240578063a247e4dd14611255578063bbe25f2c1461126a5761011f565b80632d0207f8116100e75780632d0207f81461082257806366aa2299146109d057806369c0fc6b14610b7e5780636fdde42214610d3957806372d1448014610fc65761011f565b806305247ce6146101245780631b128f61146103ef5780631cd0b206146104b457806324781773146105ea5780632566dfb014610674575b600080fd5b6103ed600480360360c081101561013a57600080fd5b810190602081018135600160201b81111561015457600080fd5b82018360208201111561016657600080fd5b803590602001918460018302840111600160201b8311171561018757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156101d957600080fd5b8201836020820111156101eb57600080fd5b803590602001918460018302840111600160201b8311171561020c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561025e57600080fd5b82018360208201111561027057600080fd5b803590602001918460018302840111600160201b8311171561029157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156102e357600080fd5b8201836020820111156102f557600080fd5b803590602001918460018302840111600160201b8311171561031657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092956001600160a01b03853516959094909350604081019250602001359050600160201b81111561037957600080fd5b82018360208201111561038b57600080fd5b803590602001918460018302840111600160201b831117156103ac57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506117cf945050505050565b005b3480156103fb57600080fd5b506104a06004803603602081101561041257600080fd5b810190602081018135600160201b81111561042c57600080fd5b82018360208201111561043e57600080fd5b803590602001918460018302840111600160201b8311171561045f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611b04945050505050565b604080519115158252519081900360200190f35b3480156104c057600080fd5b506103ed600480360360408110156104d757600080fd5b810190602081018135600160201b8111156104f157600080fd5b82018360208201111561050357600080fd5b803590602001918460018302840111600160201b8311171561052457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561057657600080fd5b82018360208201111561058857600080fd5b803590602001918460018302840111600160201b831117156105a957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611de3945050505050565b3480156105f657600080fd5b506105ff6121fe565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610639578181015183820152602001610621565b50505050905090810190601f1680156106665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ed6004803603606081101561068a57600080fd5b810190602081018135600160201b8111156106a457600080fd5b8201836020820111156106b657600080fd5b803590602001918460018302840111600160201b831117156106d757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561072957600080fd5b82018360208201111561073b57600080fd5b803590602001918460018302840111600160201b8311171561075c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156107ae57600080fd5b8201836020820111156107c057600080fd5b803590602001918460018302840111600160201b831117156107e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612333945050505050565b6103ed6004803603606081101561083857600080fd5b810190602081018135600160201b81111561085257600080fd5b82018360208201111561086457600080fd5b803590602001918460018302840111600160201b8311171561088557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156108d757600080fd5b8201836020820111156108e957600080fd5b803590602001918460018302840111600160201b8311171561090a57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561095c57600080fd5b82018360208201111561096e57600080fd5b803590602001918460018302840111600160201b8311171561098f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061291d945050505050565b6103ed600480360360608110156109e657600080fd5b810190602081018135600160201b811115610a0057600080fd5b820183602082011115610a1257600080fd5b803590602001918460018302840111600160201b83111715610a3357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610a8557600080fd5b820183602082011115610a9757600080fd5b803590602001918460018302840111600160201b83111715610ab857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610b0a57600080fd5b820183602082011115610b1c57600080fd5b803590602001918460018302840111600160201b83111715610b3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612d2b945050505050565b348015610b8a57600080fd5b506103ed60048036036060811015610ba157600080fd5b810190602081018135600160201b811115610bbb57600080fd5b820183602082011115610bcd57600080fd5b803590602001918460018302840111600160201b83111715610bee57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610c4057600080fd5b820183602082011115610c5257600080fd5b803590602001918460018302840111600160201b83111715610c7357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610cc557600080fd5b820183602082011115610cd757600080fd5b803590602001918460018302840111600160201b83111715610cf857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506138a7945050505050565b348015610d4557600080fd5b50610dea60048036036020811015610d5c57600080fd5b810190602081018135600160201b811115610d7657600080fd5b820183602082011115610d8857600080fd5b803590602001918460018302840111600160201b83111715610da957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613cc5945050505050565b6040518080602001806020018060200180602001896001600160a01b03166001600160a01b031681526020018881526020018715151515815260200186815260200185810385528d818151815260200191508051906020019080838360005b83811015610e61578181015183820152602001610e49565b50505050905090810190601f168015610e8e5780820380516001836020036101000a031916815260200191505b5085810384528c5181528c516020918201918e019080838360005b83811015610ec1578181015183820152602001610ea9565b50505050905090810190601f168015610eee5780820380516001836020036101000a031916815260200191505b5085810383528b5181528b516020918201918d019080838360005b83811015610f21578181015183820152602001610f09565b50505050905090810190601f168015610f4e5780820380516001836020036101000a031916815260200191505b5085810382528a5181528a516020918201918c019080838360005b83811015610f81578181015183820152602001610f69565b50505050905090810190601f168015610fae5780820380516001836020036101000a031916815260200191505b509c5050505050505050505050505060405180910390f35b348015610fd257600080fd5b506104a060048036036020811015610fe957600080fd5b5035614022565b348015610ffc57600080fd5b506111266004803603604081101561101357600080fd5b810190602081018135600160201b81111561102d57600080fd5b82018360208201111561103f57600080fd5b803590602001918460018302840111600160201b8311171561106057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156110b257600080fd5b8201836020820111156110c457600080fd5b803590602001918460018302840111600160201b831117156110e557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550614060945050505050565b604051808681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b83811015611179578181015183820152602001611161565b50505050905090810190601f1680156111a65780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156111d95781810151838201526020016111c1565b50505050905090810190601f1680156112065780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561122557600080fd5b5061122e6142cd565b60408051918252519081900360200190f35b34801561124c57600080fd5b506103ed6142d3565b34801561126157600080fd5b506104a0614367565b34801561127657600080fd5b506103ed600480360360a081101561128d57600080fd5b810190602081018135600160201b8111156112a757600080fd5b8201836020820111156112b957600080fd5b803590602001918460018302840111600160201b831117156112da57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561132c57600080fd5b82018360208201111561133e57600080fd5b803590602001918460018302840111600160201b8311171561135f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156113b157600080fd5b8201836020820111156113c357600080fd5b803590602001918460018302840111600160201b831117156113e457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561143657600080fd5b82018360208201111561144857600080fd5b803590602001918460018302840111600160201b8311171561146957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b031691506143709050565b3480156114c157600080fd5b50610dea600480360360208110156114d857600080fd5b810190602081018135600160201b8111156114f257600080fd5b82018360208201111561150457600080fd5b803590602001918460018302840111600160201b8311171561152557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061473b945050505050565b34801561157257600080fd5b506105ff6004803603602081101561158957600080fd5b5035614ba0565b34801561159c57600080fd5b506103ed600480360360208110156115b357600080fd5b810190602081018135600160201b8111156115cd57600080fd5b8201836020820111156115df57600080fd5b803590602001918460018302840111600160201b8311171561160057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550614cdb945050505050565b34801561164d57600080fd5b5061165661520f565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561169257818101518382015260200161167a565b505050509050019250505060405180910390f35b6103ed600480360360408110156116bc57600080fd5b810190602081018135600160201b8111156116d657600080fd5b8201836020820111156116e857600080fd5b803590602001918460018302840111600160201b8311171561170957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561175b57600080fd5b82018360208201111561176d57600080fd5b803590602001918460018302840111600160201b8311171561178e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550615271945050505050565b60005460ff166118105760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b600061183587604051806040016040528060018152602001600360fc1b815250615720565b9050600061184288615743565b60008181526002602052604090206007015490915060ff16156118a1576040805162461bcd60e51b81526020600482015260126024820152711d11505cf0573cb6f65cf771fcb5b31cb39560731b604482015290519081900360640190fd5b6118a9616a64565b506040805160e081018252600180825260208083018c81526000848601819052606085018190526080850189905285518087018752848152600360fc1b8185015260a086015260c0850181905287815260068352949094208351815460ff19169015151781559351805193948594909361192893908501920190616aa3565b50604082015160028201556060820151600382015560808201518051611958916004840191602090910190616aa3565b5060a08201518051611974916005840191602090910190616aa3565b5060c08201518160060155905050611992898989898960018861574e565b7f6038668b2430850a4f25a86d399648514d6cde42bca6b534937d6c78193fc28789898960405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156119fb5781810151838201526020016119e3565b50505050905090810190601f168015611a285780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015611a5b578181015183820152602001611a43565b50505050905090810190601f168015611a885780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015611abb578181015183820152602001611aa3565b50505050905090810190601f168015611ae85780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1505050505050505050565b600080611b1083615743565b9050611b1a616b21565b60008281526002602081815260409283902083518154610140601f6000196101006001851615020190921695909504908101849004909302810184019094526101208401828152909284928491840182828015611bb85780601f10611b8d57610100808354040283529160200191611bb8565b820191906000526020600020905b815481529060010190602001808311611b9b57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c5a5780601f10611c2f57610100808354040283529160200191611c5a565b820191906000526020600020905b815481529060010190602001808311611c3d57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015611cec5780601f10611cc157610100808354040283529160200191611cec565b820191906000526020600020905b815481529060010190602001808311611ccf57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015611d805780601f10611d5557610100808354040283529160200191611d80565b820191906000526020600020905b815481529060010190602001808311611d6357829003601f168201915b505050918352505060048201546001600160a01b038116602083015260ff600160a01b9091048116151560408301526005830154606083015260068301546080830152600790920154909116151560a0909101526101000151925050505b919050565b6000611dee83615743565b9050611df8616b21565b60008281526002602081815260409283902083518154610140601f6000196101006001851615020190921695909504908101849004909302810184019094526101208401828152909284928491840182828015611e965780601f10611e6b57610100808354040283529160200191611e96565b820191906000526020600020905b815481529060010190602001808311611e7957829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f385780601f10611f0d57610100808354040283529160200191611f38565b820191906000526020600020905b815481529060010190602001808311611f1b57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015611fca5780601f10611f9f57610100808354040283529160200191611fca565b820191906000526020600020905b815481529060010190602001808311611fad57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815293820193929183018282801561205e5780601f106120335761010080835404028352916020019161205e565b820191906000526020600020905b81548152906001019060200180831161204157829003601f168201915b505050918352505060048201546001600160a01b03808216602084015260ff600160a01b909204821615156040840152600584015460608401526006840154608080850191909152600790940154909116151560a09092019190915290820151919250163314612107576040805162461bcd60e51b815260206004820152600f60248201526ee8b4a6e58fb7e4b88de58cb9e9858d60881b604482015290519081900360640190fd5b606081018390526000828152600260209081526040909120825180518493612133928492910190616aa3565b50602082810151805161214c9260018501920190616aa3565b5060408201518051612168916002840191602090910190616aa3565b5060608201518051612184916003840191602090910190616aa3565b50608082015160048201805460a08501516001600160a01b03199091166001600160a01b039093169290921760ff60a01b1916600160a01b9215159290920291909117905560c0820151600582015560e08201516006820155610100909101516007909101805460ff191691151591909117905550505050565b60408051602081019091526000808252606091905b60045481101561232c5760006122c76004838154811061222f57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156122bd5780601f10612292576101008083540402835291602001916122bd565b820191906000526020600020905b8154815290600101906020018083116122a057829003601f168201915b5050505050615743565b905060606122d4826158ae565b90506122ef8160405180602001604052806000815250615ae7565b6123225761231f8461231a604051806040016040528060018152602001600b60fa1b81525084615c04565b615c04565b93505b5050600101612213565b5090505b90565b60005460ff166123745760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b61237e8133615cfb565b6123c8576040805162461bcd60e51b815260206004820152601660248201527574686520726f6c65206973206e6f742061646d696e2160501b604482015290519081900360640190fd5b6123eb82604051806040016040528060018152602001603160f81b815250615ae7565b80612414575061241482604051806040016040528060018152602001603360f81b815250615ae7565b1561273e57600061242484615743565b905061242e616b21565b60008281526002602081815260409283902083518154610140601f60001961010060018516150201909216959095049081018490049093028101840190945261012084018281529092849284918401828280156124cc5780601f106124a1576101008083540402835291602001916124cc565b820191906000526020600020905b8154815290600101906020018083116124af57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561256e5780601f106125435761010080835404028352916020019161256e565b820191906000526020600020905b81548152906001019060200180831161255157829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845293810193908301828280156126005780601f106125d557610100808354040283529160200191612600565b820191906000526020600020905b8154815290600101906020018083116125e357829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156126945780601f1061266957610100808354040283529160200191612694565b820191906000526020600020905b81548152906001019060200180831161267757829003601f168201915b505050918352505060048201546001600160a01b038116602083015260ff600160a01b9091048116151560408301526005830154606083015260068301546080830152600790920154909116151560a0918201528101519091501561273b576040805162461bcd60e51b8152602060048201526018602482015277725c5df4454173c15cf25c46f2c2c0f4575c74c04072c3dd60411b604482015290519081900360640190fd5b50505b6127488383615d49565b612788576040805162461bcd60e51b815260206004820152600c60248201526be794b3e8afb7e5a4b1e8b4a560a01b604482015290519081900360640190fd5b60006127948484615720565b905061279e616a64565b506040805160e081018252600180825260208083018881526000848601819052606085018190526080850188905260a0850189905260c0850181905286815260068352949094208351815460ff19169015151781559351805193948594909361280c93908501920190616aa3565b5060408201516002820155606082015160038201556080820151805161283c916004840191602090910190616aa3565b5060a08201518051612858916005840191602090910190616aa3565b5060c09190910151600690910155600082815260086020526040812061287d91616b7a565b7f5e330ce69c9b3b5247e5759b06dc7fc78e57a2519cf6c6f8e8c70198da7ccc8e856040518080602001828103825283818151815260200191508051906020019080838360005b838110156128dc5781810151838201526020016128c4565b50505050905090810190601f1680156129095780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b60005460ff1661295e5760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b6129688233615cfb565b6129b9576040805162461bcd60e51b815260206004820152601760248201527f74686520726f6c65206d7573742062652061646d696e21000000000000000000604482015290519081900360640190fd5b60006129c58483615720565b90506129cf616a64565b600082815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f8101869004860283018601909652858252919492938581019391929190830182828015612a835780601f10612a5857610100808354040283529160200191612a83565b820191906000526020600020905b815481529060010190602001808311612a6657829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b395780601f10612b0e57610100808354040283529160200191612b39565b820191906000526020600020905b815481529060010190602001808311612b1c57829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015612bcd5780601f10612ba257610100808354040283529160200191612bcd565b820191906000526020600020905b815481529060010190602001808311612bb057829003601f168201915b505050505081526020016006820154815250509050612bee85853386615e7c565b6060810180516001908101918290525460029004108015612c11575060c0810151155b15612c925760018160c0018181525050612c4483604051806040016040528060018152602001600360fc1b815250615ae7565b15612c7b57600060026000612c5888615743565b81526020810191909152604001600020600701805460ff19169115159190911790555b6000828152600860205260408120612c9291616b7a565b60008281526006602090815260409091208251815460ff19169015151781558282015180518493612cca926001850192910190616aa3565b50604082015160028201556060820151600382015560808201518051612cfa916004840191602090910190616aa3565b5060a08201518051612d16916005840191602090910190616aa3565b5060c082015181600601559050505050505050565b60005460ff16612d6c5760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b612d768233615cfb565b612e2e577fb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be82336040518080602001836001600160a01b03166001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015612df2578181015183820152602001612dda565b50505050905090810190601f168015612e1f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15b612e388233615cfb565b612e89576040805162461bcd60e51b815260206004820152601a60248201527f74686520726f6c65206973206d7573742062652061646d696e21000000000000604482015290519081900360640190fd5b612e94838284615f78565b15613001577fe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d48583828460405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015612f02578181015183820152602001612eea565b50505050905090810190601f168015612f2f5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015612f62578181015183820152602001612f4a565b50505050905090810190601f168015612f8f5780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015612fc2578181015183820152602001612faa565b50505050905090810190601f168015612fef5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15b61300c838284615f78565b15613050576040805162461bcd60e51b815260206004820152600f60248201526e1cb6f65cf771fcd152bd17f0fcf4b5608b1b604482015290519081900360640190fd5b61307381604051806040016040528060018152602001601960f91b815250615ae7565b1561331357613081836160bb565b6130d2576040805162461bcd60e51b815260206004820152601c60248201527f746865206e6f6465206d757374206265206e6f726d616c20726f6c6500000000604482015290519081900360640190fd5b6130da616a64565b6130e684838533616100565b60408101519091506130f98584866164d8565b60026001548161310557fe5b0481118015613116575060c0820151155b1561330c57600061312f61312a8786615c04565b615743565b905061313a8161651b565b600081815260086020526040812061315191616b7a565b600061315c87615743565b6000818152600260208181526040808420600581018490556001805481018155825180850186905260808082528f51908201528e51979850600080516020616c7f833981519152978f9792840195938701949193849392840192606085019260a08601928b01918190849084905b838110156131e25781810151838201526020016131ca565b50505050905090810190601f16801561320f5780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156132825780601f1061325757610100808354040283529160200191613282565b820191906000526020600020905b81548152906001019060200180831161326557829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156132f65780601f106132cb576101008083540402835291602001916132f6565b820191906000526020600020905b8154815290600101906020018083116132d957829003601f168201915b505097505050505050505060405180910390a150505b50506138a2565b61333681604051806040016040528060018152602001603360f81b815250615ae7565b1561361357600061334684615743565b905061335181614022565b6133a2576040805162461bcd60e51b815260206004820152601760248201527f746865206e6f6465206d7573742062652061646d696e21000000000000000000604482015290519081900360640190fd5b6133aa616a64565b6133b685848633616100565b60408101519091506133c98685876164d8565b6002600154816133d557fe5b04811180156133e6575060c0820151155b1561360b5760006133fa61312a8887615c04565b90506134058161651b565b600081815260086020526040812061341c91616b7a565b600061342788615743565b90506000600260008381526020019081526020016000206005018190555060016000815480929190600190039190505550600080516020616c7f833981519152886000600260008581526020019081526020016000206001016002600086815260200190815260200160002060020160405180806020018581526020018060200180602001848103845288818151815260200191508051906020019080838360005b838110156134e15781810151838201526020016134c9565b50505050905090810190601f16801561350e5780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156135815780601f1061355657610100808354040283529160200191613581565b820191906000526020600020905b81548152906001019060200180831161356457829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156135f55780601f106135ca576101008083540402835291602001916135f5565b820191906000526020600020905b8154815290600101906020018083116135d857829003601f168201915b505097505050505050505060405180910390a150505b5050506138a2565b61363681604051806040016040528060018152602001603160f81b815250615ae7565b156138a257613643616a64565b61364f84838533616100565b60408101519091506136628584866164d8565b60026001548161366e57fe5b048111801561367f575060c0820151155b1561389f57600061369361312a8786615c04565b905061369e8161651b565b60008181526008602052604081206136b591616b7a565b60006136c087615743565b60008181526002602081905260409091206005015491925014156136e957600180546000190190555b600081815260026020818152604080842060016005820181905560078201805460ff19169055825180850182905260808082528e51908201528d51600080516020616c7f833981519152978f97939685880196959094019492938493840192606085019260a08601928b0191908190849084905b8381101561377557818101518382015260200161375d565b50505050905090810190601f1680156137a25780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156138155780601f106137ea57610100808354040283529160200191613815565b820191906000526020600020905b8154815290600101906020018083116137f857829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156138895780601f1061385e57610100808354040283529160200191613889565b820191906000526020600020905b81548152906001019060200180831161386c57829003601f168201915b505097505050505050505060405180910390a150505b50505b505050565b60006138b284615743565b90506138bc616b21565b60008281526002602081815260409283902083518154610140601f600019610100600185161502019092169590950490810184900490930281018401909452610120840182815290928492849184018282801561395a5780601f1061392f5761010080835404028352916020019161395a565b820191906000526020600020905b81548152906001019060200180831161393d57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156139fc5780601f106139d1576101008083540402835291602001916139fc565b820191906000526020600020905b8154815290600101906020018083116139df57829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015613a8e5780601f10613a6357610100808354040283529160200191613a8e565b820191906000526020600020905b815481529060010190602001808311613a7157829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613b225780601f10613af757610100808354040283529160200191613b22565b820191906000526020600020905b815481529060010190602001808311613b0557829003601f168201915b505050918352505060048201546001600160a01b03808216602084015260ff600160a01b909204821615156040840152600584015460608401526006840154608080850191909152600790940154909116151560a09092019190915290820151919250163314613bcb576040805162461bcd60e51b815260206004820152600f60248201526ee8b4a6e58fb7e4b88de58cb9e9858d60881b604482015290519081900360640190fd5b6020808201859052604080830185905260008481526002835220825180518493613bf9928492910190616aa3565b506020828101518051613c129260018501920190616aa3565b5060408201518051613c2e916002840191602090910190616aa3565b5060608201518051613c4a916003840191602090910190616aa3565b50608082015160048201805460a08501516001600160a01b03199091166001600160a01b039093169290921760ff60a01b1916600160a01b9215159290920291909117905560c0820151600582015560e08201516006820155610100909101516007909101805460ff19169115159190911790555050505050565b6060806060806000806000806000613cdc8a615743565b9050613ce6616b21565b60008281526002602081815260409283902083518154610140601f6000196101006001851615020190921695909504908101849004909302810184019094526101208401828152909284928491840182828015613d845780601f10613d5957610100808354040283529160200191613d84565b820191906000526020600020905b815481529060010190602001808311613d6757829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613e265780601f10613dfb57610100808354040283529160200191613e26565b820191906000526020600020905b815481529060010190602001808311613e0957829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015613eb85780601f10613e8d57610100808354040283529160200191613eb8565b820191906000526020600020905b815481529060010190602001808311613e9b57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613f4c5780601f10613f2157610100808354040283529160200191613f4c565b820191906000526020600020905b815481529060010190602001808311613f2f57829003601f168201915b505050505081526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016004820160149054906101000a900460ff1615151515815260200160058201548152602001600682015481526020016007820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560c001518660a001518760e001518797508696508595508494509950995099509950995099509950995050505b919395975091939597565b60008181526002602052604081206007015460ff1615614058575060008181526002602081905260409091206005015414611dde565b506000919050565b600080606080600060606140748888615c04565b9050600061408182615743565b905061408b616a64565b600082815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f810186900486028301860190965285825291949293858101939192919083018282801561413f5780601f106141145761010080835404028352916020019161413f565b820191906000526020600020905b81548152906001019060200180831161412257829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156141f55780601f106141ca576101008083540402835291602001916141f5565b820191906000526020600020905b8154815290600101906020018083116141d857829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156142895780601f1061425e57610100808354040283529160200191614289565b820191906000526020600020905b81548152906001019060200180831161426c57829003601f168201915b50505091835250506006919091015460209091015260408101516060820151608083015160a084015160c090940151929e919d509b50919950975095505050505050565b60015490565b60005460ff16156143155760405162461bcd60e51b815260040180806020018281038252602b815260200180616c54602b913960400191505060405180910390fd5b60015415614365576000805460ff191660011790556040805143815242602082015281517fd57c71a2984069403b4307775755ca30b183c3f5c9eb595659a1a4488d503035929181900390910190a15b565b60005460ff1690565b60005460ff16156143b25760405162461bcd60e51b815260040180806020018281038252602b815260200180616c54602b913960400191505060405180910390fd5b60006143bd86615743565b90506143c881614022565b156144045760405162461bcd60e51b8152600401808060200182810382526021815260200180616ceb6021913960400191505060405180910390fd5b6000818152600260209081526040909120875161442392890190616aa3565b506000818152600260209081526040909120865161444992600190920191880190616aa3565b506000818152600260208181526040909220865161446f93919092019190870190616aa3565b506000818152600260209081526040909120845161449592600390920191860190616aa3565b5060008181526002602081815260408320600581019290925560048083018054600160a01b6001600160a01b03199091166001600160a01b0389161760ff60a01b19161790554260068401556007909201805460ff1916600190811790915582549081018355919092528751614532927f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90920191890190616aa3565b5060008181526003602090815260408083208054600160ff199091168117909155805481018155600580548083019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0388161790556002808452828520835180860183905260808082528d51908201528c51600080516020616c7f833981519152978e97949695840195938701949293849390840192606085019260a08601928b0191908190849084905b8381101561460c5781810151838201526020016145f4565b50505050905090810190601f1680156146395780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156146ac5780601f10614681576101008083540402835291602001916146ac565b820191906000526020600020905b81548152906001019060200180831161468f57829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156147205780601f106146f557610100808354040283529160200191614720565b820191906000526020600020905b81548152906001019060200180831161470357829003601f168201915b505097505050505050505060405180910390a1505050505050565b60608080806000808080805b600454811015614b555760006147636004838154811061222f57fe5b600081815260026020818152604092839020600301805484516001821615610100026000190190911693909304601f8101839004830284018301909452838352939450614809938f9390918301828280156147ff5780601f106147d4576101008083540402835291602001916147ff565b820191906000526020600020905b8154815290600101906020018083116147e257829003601f168201915b5050505050615ae7565b15614b4c57614816616b21565b60008281526002602081815260409283902083518154610140601f60001961010060018516150201909216959095049081018490049093028101840190945261012084018281529092849284918401828280156148b45780601f10614889576101008083540402835291602001916148b4565b820191906000526020600020905b81548152906001019060200180831161489757829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156149565780601f1061492b57610100808354040283529160200191614956565b820191906000526020600020905b81548152906001019060200180831161493957829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845293810193908301828280156149e85780601f106149bd576101008083540402835291602001916149e8565b820191906000526020600020905b8154815290600101906020018083116149cb57829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015614a7c5780601f10614a5157610100808354040283529160200191614a7c565b820191906000526020600020905b815481529060010190602001808311614a5f57829003601f168201915b505050505081526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016004820160149054906101000a900460ff1615151515815260200160058201548152602001600682015481526020016007820160009054906101000a900460ff1615151515815250509050806000015181602001518260400151836060015184608001518560c001518660a001518760e001518797508696508595508494509a509a509a509a509a509a509a509a50505050614017565b50600101614747565b50506040805160208082018352600080835283518083018552818152845180840186528281528551938401909552818352929c929b5092995097509095508594508493508392509050565b6040805160208101909152600081526060906002831115614bc2579050611dde565b60005b600454811015614cd4576000614be16004838154811061222f57fe5b600081815260026020818152604092839020805484516001821615610100026000190190911693909304601f8101839004830284018301909452838352939450606093919290830182828015614c785780601f10614c4d57610100808354040283529160200191614c78565b820191906000526020600020905b815481529060010190602001808311614c5b57829003601f168201915b505050600085815260026020526040902060050154929350505086811415614cc957614cc6614cc083604051806040016040528060018152602001600b60fa1b815250615c04565b86615c04565b94505b505050600101614bc5565b5092915050565b60005460ff16614d1c5760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b6000614d2782615743565b60008181526002602052604090206007015490915060ff16614d49575061520c565b614d51616b21565b60008281526002602081815260409283902083518154610140601f6000196101006001851615020190921695909504908101849004909302810184019094526101208401828152909284928491840182828015614def5780601f10614dc457610100808354040283529160200191614def565b820191906000526020600020905b815481529060010190602001808311614dd257829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015614e915780601f10614e6657610100808354040283529160200191614e91565b820191906000526020600020905b815481529060010190602001808311614e7457829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f81018390048302850183019091528084529381019390830182828015614f235780601f10614ef857610100808354040283529160200191614f23565b820191906000526020600020905b815481529060010190602001808311614f0657829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015614fb75780601f10614f8c57610100808354040283529160200191614fb7565b820191906000526020600020905b815481529060010190602001808311614f9a57829003601f168201915b505050918352505060048201546001600160a01b038116602083015260ff600160a01b9091048116151560408301526005830154606083015260068301546080830152600790920154909116151560a0918201528101519091501561505e576040805162461bcd60e51b8152602060048201526018602482015277725c5df4454173c15cf25c46f2c2c0f4575c74c04072c3dd60411b604482015290519081900360640190fd5b600082815260026020818152604080842060078101805460ff191690558151600181850181905260808083528a51908301528951600080516020616c7f833981519152978b979296878601969590930194849390840192606085019260a08601928b0191908190849084905b838110156150e25781810151838201526020016150ca565b50505050905090810190601f16801561510f5780820380516001836020036101000a031916815260200191505b508481038352865460026000196101006001841615020190911604808252602090910190879080156151825780601f1061515757610100808354040283529160200191615182565b820191906000526020600020905b81548152906001019060200180831161516557829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156151f65780601f106151cb576101008083540402835291602001916151f6565b820191906000526020600020905b8154815290600101906020018083116151d957829003601f168201915b505097505050505050505060405180910390a150505b50565b6060600580548060200260200160405190810160405280929190818152602001828054801561526757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311615249575b5050505050905090565b60005460ff166152b25760405162461bcd60e51b815260040180806020018281038252604c815260200180616c9f604c913960600191505060405180910390fd5b6152bc8133615cfb565b615374577fb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be81336040518080602001836001600160a01b03166001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015615338578181015183820152602001615320565b50505050905090810190601f1680156153655780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15b61537e8133615cfb565b6153c8576040805162461bcd60e51b815260206004820152601660248201527574686520726f6c65206973206e6f742061646d696e2160501b604482015290519081900360640190fd5b6153ec82604051806040016040528060018152602001600360fc1b81525083615f78565b15615572577fe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d48582604051806040016040528060018152602001600360fc1b8152508360405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561547357818101518382015260200161545b565b50505050905090810190601f1680156154a05780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156154d35781810151838201526020016154bb565b50505050905090810190601f1680156155005780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b8381101561553357818101518382015260200161551b565b50505050905090810190601f1680156155605780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15b61559682604051806040016040528060018152602001600360fc1b81525083615f78565b156155da576040805162461bcd60e51b815260206004820152600f60248201526e1cb6f65cf771fcd152bd17f0fcf4b5608b1b604482015290519081900360640190fd5b6155e2616a64565b61560783604051806040016040528060018152602001600360fc1b8152508433616100565b905061562d83604051806040016040528060018152602001600360fc1b815250846164d8565b60408101516001546002900481118015615649575060c0820151155b1561571a57600061567385604051806040016040528060018152602001600360fc1b815250615720565b9050600061568086615743565b905061568b8261651b565b60008281526008602052604081206156a291616b7a565b600081815260026020818152604080842060058101859055815180840186905260808082528c51908201528b51600080516020616c7f833981519152968d96909560018501959490910193839290830191606084019160a08501918a01908083838c831561460c5781810151838201526020016145f4565b50505050565b6000606061572e8484615c04565b905061573981615743565b9150505b92915050565b805160209091012090565b6000818152600260209081526040909120875161577392600190920191890190616aa3565b506000818152600260208181526040909220875161579993919092019190880190616aa3565b50600081815260026020908152604090912088516157b9928a0190616aa3565b5060008181526002602090815260409091206004810180546001600160a01b0319166001600160a01b03871617905585516157fc92600390920191870190616aa3565b5060008181526002602090815260408083206005810186905560048101805460ff60a01b19169055426006820155600701805460ff19166001179055600390915290205460ff166158a55760048054600181018255600091909152875161588a917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019060208a0190616aa3565b506000818152600360205260409020805460ff191660011790555b50505050505050565b60408051602080820183526000808352848152600280835290849020805485516001821615610100026000190190911692909204601f8101849004840283018401909552848252606094859383018282801561594b5780601f106159205761010080835404028352916020019161594b565b820191906000526020600020905b81548152906001019060200180831161592e57829003601f168201915b50505050509050606061597782604051806040016040528060018152602001600360fc1b8152506167d4565b90506159928160405180602001604052806000815250615ae7565b61599a578092505b6159bd82604051806040016040528060018152602001603160f81b8152506167d4565b90506159d88160405180602001604052806000815250615ae7565b615a0657615a038361231a604051806040016040528060018152602001600b60fa1b81525084615c04565b92505b615a2982604051806040016040528060018152602001601960f91b8152506167d4565b9050615a448160405180602001604052806000815250615ae7565b615a7257615a6f8361231a604051806040016040528060018152602001600b60fa1b81525084615c04565b92505b615a9582604051806040016040528060018152602001603360f81b8152506167d4565b9050615ab08160405180602001604052806000815250615ae7565b615ade57615adb8361231a604051806040016040528060018152602001600b60fa1b81525084615c04565b92505b50909392505050565b6000816040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015615b2a578181015183820152602001615b12565b50505050905090810190601f168015615b575780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120836040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015615bb3578181015183820152602001615b9b565b50505050905090810190601f168015615be05780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012014905092915050565b6060808390506060839050606081518351016040519080825280601f01601f191660200182016040528015615c40576020820181803883390190505b509050806000805b8551811015615c9957858181518110615c5d57fe5b602001015160f81c60f81b838380600101945081518110615c7a57fe5b60200101906001600160f81b031916908160001a905350600101615c48565b5060005b8451811015615cee57848181518110615cb257fe5b602001015160f81c60f81b838380600101945081518110615ccf57fe5b60200101906001600160f81b031916908160001a905350600101615c9d565b5091979650505050505050565b600080615d0784615743565b9050615d1281614022565b615d2057600091505061573d565b6000908152600260205260409020600401546001600160a01b0390811690831614905092915050565b6000615d6e82604051806040016040528060018152602001600360fc1b815250615ae7565b15615d7b5750600061573d565b6000615d8684615743565b600081815260026020819052604090912054919250600019610100600184161502019091160415615e725760008181526002602052604090206005015460011415615dd557600091505061573d565b615df883604051806040016040528060018152602001601960f91b815250615ae7565b8015615e165750600081815260026020819052604090912060050154145b15615e2557600091505061573d565b615e4883604051806040016040528060018152602001603360f81b815250615ae7565b8015615e635750600081815260026020526040902060050154155b15615e7257600091505061573d565b5060019392505050565b615e84616b98565b84815260208082018590526001600160a01b03841660408301526060820183905260006080830181905260078054600181018255915282518051849360059093027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880192615ef6928492910190616aa3565b506020828101518051615f0f9260018501920190616aa3565b5060408201516002820180546001600160a01b0319166001600160a01b0390921691909117905560608201518051615f51916003840191602090910190616aa3565b50608091909101516004909101805460ff191691151591909117905561389f8583866164d8565b600080615f8861312a8686615c04565b600081815260086020908152604080832080548251818502810185019093528083529495506060949193909284015b828210156160625760008481526020908190208301805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561604e5780601f106160235761010080835404028352916020019161604e565b820191906000526020600020905b81548152906001019060200180831161603157829003601f168201915b505050505081526020019060010190615fb7565b509293506000925050505b81518110156160ac5761609382828151811061608557fe5b602002602001015186615ae7565b156160a457600193505050506160b4565b60010161606d565b506000925050505b9392505050565b6000806160c783615743565b60008181526003602090815260408083205460029092529091206005015491925060ff1690158180156160f75750805b95945050505050565b616108616a64565b60006161148686615720565b905061611e616b98565b506040805160a08101825287815260208082018790526001600160a01b0386169282019290925260608101879052600160808201819052600780549182018155600052815180519293849360059093027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688019261619e9284920190616aa3565b5060208281015180516161b79260018501920190616aa3565b5060408201516002820180546001600160a01b0319166001600160a01b03909216919091179055606082015180516161f9916003840191602090910190616aa3565b50608091909101516004909101805460ff191691151591909117905561621d616a64565b600083815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f81018690048602830186019096528582529194929385810193919291908301828280156162d15780601f106162a6576101008083540402835291602001916162d1565b820191906000526020600020905b8154815290600101906020018083116162b457829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156163875780601f1061635c57610100808354040283529160200191616387565b820191906000526020600020905b81548152906001019060200180831161636a57829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815293820193929183018282801561641b5780601f106163f05761010080835404028352916020019161641b565b820191906000526020600020905b8154815290600101906020018083116163fe57829003601f168201915b5050509183525050600691820154602091820152604083810180516001908101909152600088815293835292208351815460ff1916901515178155838201518051949550859491936164739390850192910190616aa3565b506040820151600282015560608201516003820155608082015180516164a3916004840191602090910190616aa3565b5060a082015180516164bf916005840191602090910190616aa3565b5060c09190910151600690910155979650505050505050565b60006164e761312a8585615c04565b60008181526008602090815260408220805460018101825590835291819020855193945061389f9392019190850190616aa3565b616523616a64565b600082815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f81018690048602830186019096528582529194929385810193919291908301828280156165d75780601f106165ac576101008083540402835291602001916165d7565b820191906000526020600020905b8154815290600101906020018083116165ba57829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561668d5780601f106166625761010080835404028352916020019161668d565b820191906000526020600020905b81548152906001019060200180831161667057829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156167215780601f106166f657610100808354040283529160200191616721565b820191906000526020600020905b81548152906001019060200180831161670457829003601f168201915b5050509183525050600691820154602091820152600160c08401819052600086815292825260409092208351815460ff1916901515178155838201518051949550859491936167769390850192910190616aa3565b506040820151600282015560608201516003820155608082015180516167a6916004840191602090910190616aa3565b5060a082015180516167c2916005840191602090910190616aa3565b5060c082015181600601559050505050565b606060006167e28484615720565b60008181526006602052604090205490915060ff1661681157505060408051602081019091526000815261573d565b616819616a64565b600082815260066020908152604091829020825160e081018452815460ff1615158152600180830180548651600261010094831615949094026000190190911692909204601f81018690048602830186019096528582529194929385810193919291908301828280156168cd5780601f106168a2576101008083540402835291602001916168cd565b820191906000526020600020905b8154815290600101906020018083116168b057829003601f168201915b505050505081526020016002820154815260200160038201548152602001600482018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156169835780601f1061695857610100808354040283529160200191616983565b820191906000526020600020905b81548152906001019060200180831161696657829003601f168201915b505050918352505060058201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015616a175780601f106169ec57610100808354040283529160200191616a17565b820191906000526020600020905b8154815290600101906020018083116169fa57829003601f168201915b5050505050815260200160068201548152505090508060c0015160001415616a4c57616a438585615c04565b9250505061573d565b50506040805160208101909152600081529392505050565b6040518060e001604052806000151581526020016060815260200160008152602001600081526020016060815260200160608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10616ae457805160ff1916838001178555616b11565b82800160010185558215616b11579182015b82811115616b11578251825591602001919060010190616af6565b50616b1d929150616bd2565b5090565b6040518061012001604052806060815260200160608152602001606081526020016060815260200160006001600160a01b0316815260200160001515815260200160008152602001600081526020016000151581525090565b508054600082559060005260206000209081019061520c9190616bec565b6040518060a00160405280606081526020016060815260200160006001600160a01b03168152602001606081526020016000151581525090565b61233091905b80821115616b1d5760008155600101616bd8565b61233091905b80821115616b1d576000616c068282616c0f565b50600101616bf2565b50805460018160011615610100020316600290046000825580601f10616c35575061520c565b601f01602090049060005260206000209081019061520c9190616bd256fe63616e206e6f74207365742061646d696e206e6f64652c696e697469616c697a652066696e69736865642ee2079629d960c01f0a2e7d2ceb7c4fbe84915ec15bfdb1ea6412f0c92333aaf763616e206e6f7420696e766f6b65206d6574686f64206578636570742073657441646d696e2066756e6374696f6e2c696e697469616c697a652068617665206e6f742066696e69736865642ee88a82e782b9e5b7b2e7bb8fe698afe88194e79b9fe5889be5a78be88a82e782b9a2646970667358221220ddfd1af5b434cabe3d1143edc772954b8c147b45bbfe18a8647a7a415abd667264736f6c63430006000033",
}

PermissionMetaData contains all meta data concerning the Permission contract.

View Source
var StoreAbiABI = StoreAbiMetaData.ABI

StoreAbiABI is the input ABI used to generate the binding from. Deprecated: Use StoreAbiMetaData.ABI instead.

View Source
var StoreAbiBin = StoreAbiMetaData.Bin

StoreAbiBin is the compiled bytecode used for deploying new contracts. Deprecated: Use StoreAbiMetaData.Bin instead.

View Source
var StoreAbiFuncSigs = StoreAbiMetaData.Sigs

Deprecated: Use StoreAbiMetaData.Sigs instead. StoreAbiFuncSigs maps the 4-byte function signature to its string representation.

View Source
var StoreAbiMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getAbi\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_abi\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]",
	Sigs: map[string]string{
		"8d717ac5": "getAbi(string)",
		"1ff5020f": "set(string,address,string)",
	},
	Bin: "0x608060405234801561001057600080fd5b50610604806100206000396000f3fe6080604052600436106100295760003560e01c80631ff5020f1461002e5780638d717ac51461016e575b600080fd5b61016c6004803603606081101561004457600080fd5b81019060208101813564010000000081111561005f57600080fd5b82018360208201111561007157600080fd5b8035906020019184600183028401116401000000008311171561009357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092956001600160a01b038535169590949093506040810192506020013590506401000000008111156100f757600080fd5b82018360208201111561010957600080fd5b8035906020019184600183028401116401000000008311171561012b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102b2945050505050565b005b34801561017a57600080fd5b506102216004803603602081101561019157600080fd5b8101906020810181356401000000008111156101ac57600080fd5b8201836020820111156101be57600080fd5b803590602001918460018302840111640100000000831117156101e057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061039c945050505050565b60405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561027657818101518382015260200161025e565b50505050905090810190601f1680156102a35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102ba610509565b6040518060600160405280858152602001846001600160a01b03168152602001838152509050806000856040518082805190602001908083835b602083106103135780518252601f1990920191602091820191016102f4565b51815160209384036101000a600019018019909216911617905292019485525060405193849003810190932084518051919461035494508593500190610533565b506020828101516001830180546001600160a01b0319166001600160a01b03909216919091179055604083015180516103939260028501920190610533565b50505050505050565b600060606000836040518082805190602001908083835b602083106103d25780518252601f1990920191602091820191016103b3565b51815160209384036101000a600019018019909216911617905292019485525060405193849003810184206001015487516001600160a01b039091169460009450889350918291908401908083835b602083106104405780518252601f199092019160209182019101610421565b518151600019602094850361010090810a8201928316921993909316919091179092529490920196875260408051978890038201882060029081018054601f60018216159098029095019094160494850182900482028801820190528387529095945085935084019050828280156104f95780601f106104ce576101008083540402835291602001916104f9565b820191906000526020600020905b8154815290600101906020018083116104dc57829003601f168201915b5050505050905091509150915091565b60405180606001604052806060815260200160006001600160a01b03168152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061057457805160ff19168380011785556105a1565b828001600101855582156105a1579182015b828111156105a1578251825591602001919060010190610586565b506105ad9291506105b1565b5090565b6105cb91905b808211156105ad57600081556001016105b7565b9056fea2646970667358221220b19ff616d9f9043c3428af7c961104e69172469a24c0cf1382bd1f88dde93a7c64736f6c63430006000033",
}

StoreAbiMetaData contains all meta data concerning the StoreAbi contract.

Functions

This section is empty.

Types

type Permission

type Permission struct {
	PermissionCaller     // Read-only binding to the contract
	PermissionTransactor // Write-only binding to the contract
	PermissionFilterer   // Log filterer for contract events
}

Permission is an auto generated Go binding around an Ethereum contract.

func DeployPermission

func DeployPermission(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Permission, error)

DeployPermission deploys a new Ethereum contract, binding an instance of Permission to it.

func NewPermission

func NewPermission(address common.Address, backend bind.ContractBackend) (*Permission, error)

NewPermission creates a new instance of Permission, bound to a specific deployed contract.

type PermissionAddNewNodeNotify

type PermissionAddNewNodeNotify struct {
	EnodeId string
	Ip      string
	Port    string
	Raw     types.Log // Blockchain specific contextual infos
}

PermissionAddNewNodeNotify represents a AddNewNodeNotify event raised by the Permission contract.

type PermissionAddNewNodeNotifyIterator

type PermissionAddNewNodeNotifyIterator struct {
	Event *PermissionAddNewNodeNotify // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

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.

func (*PermissionAddNewNodeNotifyIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*PermissionAddNewNodeNotifyIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*PermissionAddNewNodeNotifyIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type PermissionApplyByAdminNotify

type PermissionApplyByAdminNotify struct {
	EnodeId string
	Raw     types.Log // Blockchain specific contextual infos
}

PermissionApplyByAdminNotify represents a ApplyByAdminNotify event raised by the Permission contract.

type PermissionApplyByAdminNotifyIterator

type PermissionApplyByAdminNotifyIterator struct {
	Event *PermissionApplyByAdminNotify // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

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.

func (*PermissionApplyByAdminNotifyIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*PermissionApplyByAdminNotifyIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*PermissionApplyByAdminNotifyIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type PermissionCaller

type PermissionCaller struct {
	// contains filtered or unexported fields
}

PermissionCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewPermissionCaller

func NewPermissionCaller(address common.Address, caller bind.ContractCaller) (*PermissionCaller, error)

NewPermissionCaller creates a new read-only instance of Permission, bound to a specific deployed contract.

func (*PermissionCaller) GetAdminCount

func (_Permission *PermissionCaller) GetAdminCount(opts *bind.CallOpts) (*big.Int, error)

GetAdminCount is a free data retrieval call binding the contract method 0x8b7bf3eb.

Solidity: function getAdminCount() view returns(uint256)

func (*PermissionCaller) GetAllStatingRecord

func (_Permission *PermissionCaller) GetAllStatingRecord(opts *bind.CallOpts) (string, error)

GetAllStatingRecord is a free data retrieval call binding the contract method 0x24781773.

Solidity: function getAllStatingRecord() view returns(string)

func (*PermissionCaller) GetInfoByName

func (_Permission *PermissionCaller) GetInfoByName(opts *bind.CallOpts, _nodeName string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error)

GetInfoByName is a free data retrieval call binding the contract method 0xc88120d6.

Solidity: function getInfoByName(string _nodeName) view returns(string, string, string, string, address, uint256, bool, uint256)

func (*PermissionCaller) GetLastStatistics

func (_Permission *PermissionCaller) GetLastStatistics(opts *bind.CallOpts, _nodeId string, _opCode string) (*big.Int, *big.Int, string, string, *big.Int, error)

GetLastStatistics is a free data retrieval call binding the contract method 0x89e93d71.

Solidity: function getLastStatistics(string _nodeId, string _opCode) view returns(uint256, uint256, string, string, uint256)

func (*PermissionCaller) GetNodeByRole

func (_Permission *PermissionCaller) GetNodeByRole(opts *bind.CallOpts, _role *big.Int) (string, error)

GetNodeByRole is a free data retrieval call binding the contract method 0xd5eda3b1.

Solidity: function getNodeByRole(uint256 _role) view returns(string)

func (*PermissionCaller) GetNodeMap

func (_Permission *PermissionCaller) GetNodeMap(opts *bind.CallOpts, _nodeId string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error)

GetNodeMap is a free data retrieval call binding the contract method 0x6fdde422.

Solidity: function getNodeMap(string _nodeId) view returns(string, string, string, string, address, uint256, bool, uint256)

func (*PermissionCaller) GetOriginators

func (_Permission *PermissionCaller) GetOriginators(opts *bind.CallOpts) ([]common.Address, error)

GetOriginators is a free data retrieval call binding the contract method 0xedbfe56d.

Solidity: function getOriginators() view returns(address[])

func (*PermissionCaller) IsAdmin

func (_Permission *PermissionCaller) IsAdmin(opts *bind.CallOpts, _nodeHash [32]byte) (bool, error)

IsAdmin is a free data retrieval call binding the contract method 0x72d14480.

Solidity: function isAdmin(bytes32 _nodeHash) view returns(bool)

func (*PermissionCaller) IsInitFinished

func (_Permission *PermissionCaller) IsInitFinished(opts *bind.CallOpts) (bool, error)

IsInitFinished is a free data retrieval call binding the contract method 0xa247e4dd.

Solidity: function isInitFinished() view returns(bool)

func (*PermissionCaller) NodeExists

func (_Permission *PermissionCaller) NodeExists(opts *bind.CallOpts, _nodeId string) (bool, error)

NodeExists is a free data retrieval call binding the contract method 0x1b128f61.

Solidity: function nodeExists(string _nodeId) view returns(bool)

type PermissionCallerRaw

type PermissionCallerRaw struct {
	Contract *PermissionCaller // Generic read-only contract binding to access the raw methods on
}

PermissionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*PermissionCallerRaw) Call

func (_Permission *PermissionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type PermissionCallerSession

type PermissionCallerSession struct {
	Contract *PermissionCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts     // Call options to use throughout this session
}

PermissionCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*PermissionCallerSession) GetAdminCount

func (_Permission *PermissionCallerSession) GetAdminCount() (*big.Int, error)

GetAdminCount is a free data retrieval call binding the contract method 0x8b7bf3eb.

Solidity: function getAdminCount() view returns(uint256)

func (*PermissionCallerSession) GetAllStatingRecord

func (_Permission *PermissionCallerSession) GetAllStatingRecord() (string, error)

GetAllStatingRecord is a free data retrieval call binding the contract method 0x24781773.

Solidity: function getAllStatingRecord() view returns(string)

func (*PermissionCallerSession) GetInfoByName

func (_Permission *PermissionCallerSession) GetInfoByName(_nodeName string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error)

GetInfoByName is a free data retrieval call binding the contract method 0xc88120d6.

Solidity: function getInfoByName(string _nodeName) view returns(string, string, string, string, address, uint256, bool, uint256)

func (*PermissionCallerSession) GetLastStatistics

func (_Permission *PermissionCallerSession) GetLastStatistics(_nodeId string, _opCode string) (*big.Int, *big.Int, string, string, *big.Int, error)

GetLastStatistics is a free data retrieval call binding the contract method 0x89e93d71.

Solidity: function getLastStatistics(string _nodeId, string _opCode) view returns(uint256, uint256, string, string, uint256)

func (*PermissionCallerSession) GetNodeByRole

func (_Permission *PermissionCallerSession) GetNodeByRole(_role *big.Int) (string, error)

GetNodeByRole is a free data retrieval call binding the contract method 0xd5eda3b1.

Solidity: function getNodeByRole(uint256 _role) view returns(string)

func (*PermissionCallerSession) GetNodeMap

func (_Permission *PermissionCallerSession) GetNodeMap(_nodeId string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error)

GetNodeMap is a free data retrieval call binding the contract method 0x6fdde422.

Solidity: function getNodeMap(string _nodeId) view returns(string, string, string, string, address, uint256, bool, uint256)

func (*PermissionCallerSession) GetOriginators

func (_Permission *PermissionCallerSession) GetOriginators() ([]common.Address, error)

GetOriginators is a free data retrieval call binding the contract method 0xedbfe56d.

Solidity: function getOriginators() view returns(address[])

func (*PermissionCallerSession) IsAdmin

func (_Permission *PermissionCallerSession) IsAdmin(_nodeHash [32]byte) (bool, error)

IsAdmin is a free data retrieval call binding the contract method 0x72d14480.

Solidity: function isAdmin(bytes32 _nodeHash) view returns(bool)

func (*PermissionCallerSession) IsInitFinished

func (_Permission *PermissionCallerSession) IsInitFinished() (bool, error)

IsInitFinished is a free data retrieval call binding the contract method 0xa247e4dd.

Solidity: function isInitFinished() view returns(bool)

func (*PermissionCallerSession) NodeExists

func (_Permission *PermissionCallerSession) NodeExists(_nodeId string) (bool, error)

NodeExists is a free data retrieval call binding the contract method 0x1b128f61.

Solidity: function nodeExists(string _nodeId) view returns(bool)

type PermissionFilterer

type PermissionFilterer struct {
	// contains filtered or unexported fields
}

PermissionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewPermissionFilterer

func NewPermissionFilterer(address common.Address, filterer bind.ContractFilterer) (*PermissionFilterer, error)

NewPermissionFilterer creates a new log filterer instance of Permission, bound to a specific deployed contract.

func (*PermissionFilterer) FilterAddNewNodeNotify

func (_Permission *PermissionFilterer) FilterAddNewNodeNotify(opts *bind.FilterOpts) (*PermissionAddNewNodeNotifyIterator, error)

FilterAddNewNodeNotify is a free log retrieval operation binding the contract event 0x6038668b2430850a4f25a86d399648514d6cde42bca6b534937d6c78193fc287.

Solidity: event AddNewNodeNotify(string enodeId, string ip, string port)

func (*PermissionFilterer) FilterApplyByAdminNotify

func (_Permission *PermissionFilterer) FilterApplyByAdminNotify(opts *bind.FilterOpts) (*PermissionApplyByAdminNotifyIterator, error)

FilterApplyByAdminNotify is a free log retrieval operation binding the contract event 0x5e330ce69c9b3b5247e5759b06dc7fc78e57a2519cf6c6f8e8c70198da7ccc8e.

Solidity: event ApplyByAdminNotify(string enodeId)

func (*PermissionFilterer) FilterIsAdminRoleEvent

func (_Permission *PermissionFilterer) FilterIsAdminRoleEvent(opts *bind.FilterOpts) (*PermissionIsAdminRoleEventIterator, error)

FilterIsAdminRoleEvent is a free log retrieval operation binding the contract event 0xb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be.

Solidity: event isAdminRoleEvent(string _nodeId, address _sender)

func (*PermissionFilterer) FilterIsVotedEvent

func (_Permission *PermissionFilterer) FilterIsVotedEvent(opts *bind.FilterOpts) (*PermissionIsVotedEventIterator, error)

FilterIsVotedEvent is a free log retrieval operation binding the contract event 0xe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d485.

Solidity: event isVotedEvent(string _nodeId, string _opCode, string _voterNodeId)

func (*PermissionFilterer) FilterNetworkInitComplete

func (_Permission *PermissionFilterer) FilterNetworkInitComplete(opts *bind.FilterOpts) (*PermissionNetworkInitCompleteIterator, error)

FilterNetworkInitComplete is a free log retrieval operation binding the contract event 0xd57c71a2984069403b4307775755ca30b183c3f5c9eb595659a1a4488d503035.

Solidity: event networkInitComplete(uint256 number, uint256 timestamp)

func (*PermissionFilterer) FilterVerifyNotify

func (_Permission *PermissionFilterer) FilterVerifyNotify(opts *bind.FilterOpts) (*PermissionVerifyNotifyIterator, error)

FilterVerifyNotify is a free log retrieval operation binding the contract event 0xe2079629d960c01f0a2e7d2ceb7c4fbe84915ec15bfdb1ea6412f0c92333aaf7.

Solidity: event VerifyNotify(string enodeId, uint256 opCode, string ip, string port)

func (*PermissionFilterer) ParseAddNewNodeNotify

func (_Permission *PermissionFilterer) ParseAddNewNodeNotify(log types.Log) (*PermissionAddNewNodeNotify, error)

ParseAddNewNodeNotify is a log parse operation binding the contract event 0x6038668b2430850a4f25a86d399648514d6cde42bca6b534937d6c78193fc287.

Solidity: event AddNewNodeNotify(string enodeId, string ip, string port)

func (*PermissionFilterer) ParseApplyByAdminNotify

func (_Permission *PermissionFilterer) ParseApplyByAdminNotify(log types.Log) (*PermissionApplyByAdminNotify, error)

ParseApplyByAdminNotify is a log parse operation binding the contract event 0x5e330ce69c9b3b5247e5759b06dc7fc78e57a2519cf6c6f8e8c70198da7ccc8e.

Solidity: event ApplyByAdminNotify(string enodeId)

func (*PermissionFilterer) ParseIsAdminRoleEvent

func (_Permission *PermissionFilterer) ParseIsAdminRoleEvent(log types.Log) (*PermissionIsAdminRoleEvent, error)

ParseIsAdminRoleEvent is a log parse operation binding the contract event 0xb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be.

Solidity: event isAdminRoleEvent(string _nodeId, address _sender)

func (*PermissionFilterer) ParseIsVotedEvent

func (_Permission *PermissionFilterer) ParseIsVotedEvent(log types.Log) (*PermissionIsVotedEvent, error)

ParseIsVotedEvent is a log parse operation binding the contract event 0xe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d485.

Solidity: event isVotedEvent(string _nodeId, string _opCode, string _voterNodeId)

func (*PermissionFilterer) ParseNetworkInitComplete

func (_Permission *PermissionFilterer) ParseNetworkInitComplete(log types.Log) (*PermissionNetworkInitComplete, error)

ParseNetworkInitComplete is a log parse operation binding the contract event 0xd57c71a2984069403b4307775755ca30b183c3f5c9eb595659a1a4488d503035.

Solidity: event networkInitComplete(uint256 number, uint256 timestamp)

func (*PermissionFilterer) ParseVerifyNotify

func (_Permission *PermissionFilterer) ParseVerifyNotify(log types.Log) (*PermissionVerifyNotify, error)

ParseVerifyNotify is a log parse operation binding the contract event 0xe2079629d960c01f0a2e7d2ceb7c4fbe84915ec15bfdb1ea6412f0c92333aaf7.

Solidity: event VerifyNotify(string enodeId, uint256 opCode, string ip, string port)

func (*PermissionFilterer) WatchAddNewNodeNotify

func (_Permission *PermissionFilterer) WatchAddNewNodeNotify(opts *bind.WatchOpts, sink chan<- *PermissionAddNewNodeNotify) (event.Subscription, error)

WatchAddNewNodeNotify is a free log subscription operation binding the contract event 0x6038668b2430850a4f25a86d399648514d6cde42bca6b534937d6c78193fc287.

Solidity: event AddNewNodeNotify(string enodeId, string ip, string port)

func (*PermissionFilterer) WatchApplyByAdminNotify

func (_Permission *PermissionFilterer) WatchApplyByAdminNotify(opts *bind.WatchOpts, sink chan<- *PermissionApplyByAdminNotify) (event.Subscription, error)

WatchApplyByAdminNotify is a free log subscription operation binding the contract event 0x5e330ce69c9b3b5247e5759b06dc7fc78e57a2519cf6c6f8e8c70198da7ccc8e.

Solidity: event ApplyByAdminNotify(string enodeId)

func (*PermissionFilterer) WatchIsAdminRoleEvent

func (_Permission *PermissionFilterer) WatchIsAdminRoleEvent(opts *bind.WatchOpts, sink chan<- *PermissionIsAdminRoleEvent) (event.Subscription, error)

WatchIsAdminRoleEvent is a free log subscription operation binding the contract event 0xb9dbcb13b6e91385636c1c8abe489e7267afb6c7febc7a0cb599c290df04f9be.

Solidity: event isAdminRoleEvent(string _nodeId, address _sender)

func (*PermissionFilterer) WatchIsVotedEvent

func (_Permission *PermissionFilterer) WatchIsVotedEvent(opts *bind.WatchOpts, sink chan<- *PermissionIsVotedEvent) (event.Subscription, error)

WatchIsVotedEvent is a free log subscription operation binding the contract event 0xe9b1488676b5305d45c8a66f1ee9c7bbb243b69567e6f816d3245d2c8eb4d485.

Solidity: event isVotedEvent(string _nodeId, string _opCode, string _voterNodeId)

func (*PermissionFilterer) WatchNetworkInitComplete

func (_Permission *PermissionFilterer) WatchNetworkInitComplete(opts *bind.WatchOpts, sink chan<- *PermissionNetworkInitComplete) (event.Subscription, error)

WatchNetworkInitComplete is a free log subscription operation binding the contract event 0xd57c71a2984069403b4307775755ca30b183c3f5c9eb595659a1a4488d503035.

Solidity: event networkInitComplete(uint256 number, uint256 timestamp)

func (*PermissionFilterer) WatchVerifyNotify

func (_Permission *PermissionFilterer) WatchVerifyNotify(opts *bind.WatchOpts, sink chan<- *PermissionVerifyNotify) (event.Subscription, error)

WatchVerifyNotify is a free log subscription operation binding the contract event 0xe2079629d960c01f0a2e7d2ceb7c4fbe84915ec15bfdb1ea6412f0c92333aaf7.

Solidity: event VerifyNotify(string enodeId, uint256 opCode, string ip, string port)

type PermissionIsAdminRoleEvent

type PermissionIsAdminRoleEvent struct {
	NodeId string
	Sender common.Address
	Raw    types.Log // Blockchain specific contextual infos
}

PermissionIsAdminRoleEvent represents a IsAdminRoleEvent event raised by the Permission contract.

type PermissionIsAdminRoleEventIterator

type PermissionIsAdminRoleEventIterator struct {
	Event *PermissionIsAdminRoleEvent // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

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.

func (*PermissionIsAdminRoleEventIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*PermissionIsAdminRoleEventIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*PermissionIsAdminRoleEventIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type PermissionIsVotedEvent

type PermissionIsVotedEvent struct {
	NodeId      string
	OpCode      string
	VoterNodeId string
	Raw         types.Log // Blockchain specific contextual infos
}

PermissionIsVotedEvent represents a IsVotedEvent event raised by the Permission contract.

type PermissionIsVotedEventIterator

type PermissionIsVotedEventIterator struct {
	Event *PermissionIsVotedEvent // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

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.

func (*PermissionIsVotedEventIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*PermissionIsVotedEventIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*PermissionIsVotedEventIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type PermissionNetworkInitComplete

type PermissionNetworkInitComplete struct {
	Number    *big.Int
	Timestamp *big.Int
	Raw       types.Log // Blockchain specific contextual infos
}

PermissionNetworkInitComplete represents a NetworkInitComplete event raised by the Permission contract.

type PermissionNetworkInitCompleteIterator

type PermissionNetworkInitCompleteIterator struct {
	Event *PermissionNetworkInitComplete // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

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.

func (*PermissionNetworkInitCompleteIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*PermissionNetworkInitCompleteIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*PermissionNetworkInitCompleteIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type PermissionRaw

type PermissionRaw struct {
	Contract *Permission // Generic contract binding to access the raw methods on
}

PermissionRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*PermissionRaw) Call

func (_Permission *PermissionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*PermissionRaw) Transact

func (_Permission *PermissionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*PermissionRaw) Transfer

func (_Permission *PermissionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type PermissionSession

type PermissionSession struct {
	Contract     *Permission       // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

PermissionSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*PermissionSession) Disagree

func (_Permission *PermissionSession) Disagree(_nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error)

Disagree is a paid mutator transaction binding the contract method 0x2d0207f8.

Solidity: function disagree(string _nodeId, string _voterNodeId, string _opCode) payable returns()

func (*PermissionSession) Exit

func (_Permission *PermissionSession) Exit(_nodeId string) (*types.Transaction, error)

Exit is a paid mutator transaction binding the contract method 0xe7fb5388.

Solidity: function exit(string _nodeId) returns()

func (*PermissionSession) GetAdminCount

func (_Permission *PermissionSession) GetAdminCount() (*big.Int, error)

GetAdminCount is a free data retrieval call binding the contract method 0x8b7bf3eb.

Solidity: function getAdminCount() view returns(uint256)

func (*PermissionSession) GetAllStatingRecord

func (_Permission *PermissionSession) GetAllStatingRecord() (string, error)

GetAllStatingRecord is a free data retrieval call binding the contract method 0x24781773.

Solidity: function getAllStatingRecord() view returns(string)

func (*PermissionSession) GetInfoByName

func (_Permission *PermissionSession) GetInfoByName(_nodeName string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error)

GetInfoByName is a free data retrieval call binding the contract method 0xc88120d6.

Solidity: function getInfoByName(string _nodeName) view returns(string, string, string, string, address, uint256, bool, uint256)

func (*PermissionSession) GetLastStatistics

func (_Permission *PermissionSession) GetLastStatistics(_nodeId string, _opCode string) (*big.Int, *big.Int, string, string, *big.Int, error)

GetLastStatistics is a free data retrieval call binding the contract method 0x89e93d71.

Solidity: function getLastStatistics(string _nodeId, string _opCode) view returns(uint256, uint256, string, string, uint256)

func (*PermissionSession) GetNodeByRole

func (_Permission *PermissionSession) GetNodeByRole(_role *big.Int) (string, error)

GetNodeByRole is a free data retrieval call binding the contract method 0xd5eda3b1.

Solidity: function getNodeByRole(uint256 _role) view returns(string)

func (*PermissionSession) GetNodeMap

func (_Permission *PermissionSession) GetNodeMap(_nodeId string) (string, string, string, string, common.Address, *big.Int, bool, *big.Int, error)

GetNodeMap is a free data retrieval call binding the contract method 0x6fdde422.

Solidity: function getNodeMap(string _nodeId) view returns(string, string, string, string, address, uint256, bool, uint256)

func (*PermissionSession) GetOriginators

func (_Permission *PermissionSession) GetOriginators() ([]common.Address, error)

GetOriginators is a free data retrieval call binding the contract method 0xedbfe56d.

Solidity: function getOriginators() view returns(address[])

func (*PermissionSession) InitFinish

func (_Permission *PermissionSession) InitFinish() (*types.Transaction, error)

InitFinish is a paid mutator transaction binding the contract method 0x99439b69.

Solidity: function initFinish() returns()

func (*PermissionSession) IsAdmin

func (_Permission *PermissionSession) IsAdmin(_nodeHash [32]byte) (bool, error)

IsAdmin is a free data retrieval call binding the contract method 0x72d14480.

Solidity: function isAdmin(bytes32 _nodeHash) view returns(bool)

func (*PermissionSession) IsInitFinished

func (_Permission *PermissionSession) IsInitFinished() (bool, error)

IsInitFinished is a free data retrieval call binding the contract method 0xa247e4dd.

Solidity: function isInitFinished() view returns(bool)

func (*PermissionSession) MakeProposeForAddNewNode

func (_Permission *PermissionSession) MakeProposeForAddNewNode(_nodeId string, _ip string, _port string, nodeName string, _nodeAddress common.Address, _proposeNodeId string) (*types.Transaction, error)

MakeProposeForAddNewNode is a paid mutator transaction binding the contract method 0x05247ce6.

Solidity: function makeProposeForAddNewNode(string _nodeId, string _ip, string _port, string nodeName, address _nodeAddress, string _proposeNodeId) payable returns()

func (*PermissionSession) MakeProposeForRoleChange

func (_Permission *PermissionSession) MakeProposeForRoleChange(_nodeId string, _opCode string, _voterNodeId string) (*types.Transaction, error)

MakeProposeForRoleChange is a paid mutator transaction binding the contract method 0x2566dfb0.

Solidity: function makeProposeForRoleChange(string _nodeId, string _opCode, string _voterNodeId) payable returns()

func (*PermissionSession) NodeExists

func (_Permission *PermissionSession) NodeExists(_nodeId string) (bool, error)

NodeExists is a free data retrieval call binding the contract method 0x1b128f61.

Solidity: function nodeExists(string _nodeId) view returns(bool)

func (*PermissionSession) SetAdminNode

func (_Permission *PermissionSession) SetAdminNode(_nodeId string, _ip string, _port string, _nodeName string, _nodeAddress common.Address) (*types.Transaction, error)

SetAdminNode is a paid mutator transaction binding the contract method 0xbbe25f2c.

Solidity: function setAdminNode(string _nodeId, string _ip, string _port, string _nodeName, address _nodeAddress) returns()

func (*PermissionSession) UpdateNodeInfo

func (_Permission *PermissionSession) UpdateNodeInfo(_nodeId string, _ip string, _port string) (*types.Transaction, error)

UpdateNodeInfo is a paid mutator transaction binding the contract method 0x69c0fc6b.

Solidity: function updateNodeInfo(string _nodeId, string _ip, string _port) returns()

func (*PermissionSession) UpdateNodeName

func (_Permission *PermissionSession) UpdateNodeName(_nodeId string, _nodeName string) (*types.Transaction, error)

UpdateNodeName is a paid mutator transaction binding the contract method 0x1cd0b206.

Solidity: function updateNodeName(string _nodeId, string _nodeName) returns()

func (*PermissionSession) VoteForNewNodeApply

func (_Permission *PermissionSession) VoteForNewNodeApply(_nodeId string, _voterNodeId string) (*types.Transaction, error)

VoteForNewNodeApply is a paid mutator transaction binding the contract method 0xf4812238.

Solidity: function voteForNewNodeApply(string _nodeId, string _voterNodeId) payable returns()

func (*PermissionSession) VoteForRoleChange

func (_Permission *PermissionSession) VoteForRoleChange(_nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error)

VoteForRoleChange is a paid mutator transaction binding the contract method 0x66aa2299.

Solidity: function voteForRoleChange(string _nodeId, string _voterNodeId, string _opCode) payable returns()

type PermissionTransactor

type PermissionTransactor struct {
	// contains filtered or unexported fields
}

PermissionTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewPermissionTransactor

func NewPermissionTransactor(address common.Address, transactor bind.ContractTransactor) (*PermissionTransactor, error)

NewPermissionTransactor creates a new write-only instance of Permission, bound to a specific deployed contract.

func (*PermissionTransactor) Disagree

func (_Permission *PermissionTransactor) Disagree(opts *bind.TransactOpts, _nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error)

Disagree is a paid mutator transaction binding the contract method 0x2d0207f8.

Solidity: function disagree(string _nodeId, string _voterNodeId, string _opCode) payable returns()

func (*PermissionTransactor) Exit

func (_Permission *PermissionTransactor) Exit(opts *bind.TransactOpts, _nodeId string) (*types.Transaction, error)

Exit is a paid mutator transaction binding the contract method 0xe7fb5388.

Solidity: function exit(string _nodeId) returns()

func (*PermissionTransactor) InitFinish

func (_Permission *PermissionTransactor) InitFinish(opts *bind.TransactOpts) (*types.Transaction, error)

InitFinish is a paid mutator transaction binding the contract method 0x99439b69.

Solidity: function initFinish() returns()

func (*PermissionTransactor) MakeProposeForAddNewNode

func (_Permission *PermissionTransactor) MakeProposeForAddNewNode(opts *bind.TransactOpts, _nodeId string, _ip string, _port string, nodeName string, _nodeAddress common.Address, _proposeNodeId string) (*types.Transaction, error)

MakeProposeForAddNewNode is a paid mutator transaction binding the contract method 0x05247ce6.

Solidity: function makeProposeForAddNewNode(string _nodeId, string _ip, string _port, string nodeName, address _nodeAddress, string _proposeNodeId) payable returns()

func (*PermissionTransactor) MakeProposeForRoleChange

func (_Permission *PermissionTransactor) MakeProposeForRoleChange(opts *bind.TransactOpts, _nodeId string, _opCode string, _voterNodeId string) (*types.Transaction, error)

MakeProposeForRoleChange is a paid mutator transaction binding the contract method 0x2566dfb0.

Solidity: function makeProposeForRoleChange(string _nodeId, string _opCode, string _voterNodeId) payable returns()

func (*PermissionTransactor) SetAdminNode

func (_Permission *PermissionTransactor) SetAdminNode(opts *bind.TransactOpts, _nodeId string, _ip string, _port string, _nodeName string, _nodeAddress common.Address) (*types.Transaction, error)

SetAdminNode is a paid mutator transaction binding the contract method 0xbbe25f2c.

Solidity: function setAdminNode(string _nodeId, string _ip, string _port, string _nodeName, address _nodeAddress) returns()

func (*PermissionTransactor) UpdateNodeInfo

func (_Permission *PermissionTransactor) UpdateNodeInfo(opts *bind.TransactOpts, _nodeId string, _ip string, _port string) (*types.Transaction, error)

UpdateNodeInfo is a paid mutator transaction binding the contract method 0x69c0fc6b.

Solidity: function updateNodeInfo(string _nodeId, string _ip, string _port) returns()

func (*PermissionTransactor) UpdateNodeName

func (_Permission *PermissionTransactor) UpdateNodeName(opts *bind.TransactOpts, _nodeId string, _nodeName string) (*types.Transaction, error)

UpdateNodeName is a paid mutator transaction binding the contract method 0x1cd0b206.

Solidity: function updateNodeName(string _nodeId, string _nodeName) returns()

func (*PermissionTransactor) VoteForNewNodeApply

func (_Permission *PermissionTransactor) VoteForNewNodeApply(opts *bind.TransactOpts, _nodeId string, _voterNodeId string) (*types.Transaction, error)

VoteForNewNodeApply is a paid mutator transaction binding the contract method 0xf4812238.

Solidity: function voteForNewNodeApply(string _nodeId, string _voterNodeId) payable returns()

func (*PermissionTransactor) VoteForRoleChange

func (_Permission *PermissionTransactor) VoteForRoleChange(opts *bind.TransactOpts, _nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error)

VoteForRoleChange is a paid mutator transaction binding the contract method 0x66aa2299.

Solidity: function voteForRoleChange(string _nodeId, string _voterNodeId, string _opCode) payable returns()

type PermissionTransactorRaw

type PermissionTransactorRaw struct {
	Contract *PermissionTransactor // Generic write-only contract binding to access the raw methods on
}

PermissionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*PermissionTransactorRaw) Transact

func (_Permission *PermissionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*PermissionTransactorRaw) Transfer

func (_Permission *PermissionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type PermissionTransactorSession

type PermissionTransactorSession struct {
	Contract     *PermissionTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts     // Transaction auth options to use throughout this session
}

PermissionTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*PermissionTransactorSession) Disagree

func (_Permission *PermissionTransactorSession) Disagree(_nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error)

Disagree is a paid mutator transaction binding the contract method 0x2d0207f8.

Solidity: function disagree(string _nodeId, string _voterNodeId, string _opCode) payable returns()

func (*PermissionTransactorSession) Exit

func (_Permission *PermissionTransactorSession) Exit(_nodeId string) (*types.Transaction, error)

Exit is a paid mutator transaction binding the contract method 0xe7fb5388.

Solidity: function exit(string _nodeId) returns()

func (*PermissionTransactorSession) InitFinish

func (_Permission *PermissionTransactorSession) InitFinish() (*types.Transaction, error)

InitFinish is a paid mutator transaction binding the contract method 0x99439b69.

Solidity: function initFinish() returns()

func (*PermissionTransactorSession) MakeProposeForAddNewNode

func (_Permission *PermissionTransactorSession) MakeProposeForAddNewNode(_nodeId string, _ip string, _port string, nodeName string, _nodeAddress common.Address, _proposeNodeId string) (*types.Transaction, error)

MakeProposeForAddNewNode is a paid mutator transaction binding the contract method 0x05247ce6.

Solidity: function makeProposeForAddNewNode(string _nodeId, string _ip, string _port, string nodeName, address _nodeAddress, string _proposeNodeId) payable returns()

func (*PermissionTransactorSession) MakeProposeForRoleChange

func (_Permission *PermissionTransactorSession) MakeProposeForRoleChange(_nodeId string, _opCode string, _voterNodeId string) (*types.Transaction, error)

MakeProposeForRoleChange is a paid mutator transaction binding the contract method 0x2566dfb0.

Solidity: function makeProposeForRoleChange(string _nodeId, string _opCode, string _voterNodeId) payable returns()

func (*PermissionTransactorSession) SetAdminNode

func (_Permission *PermissionTransactorSession) SetAdminNode(_nodeId string, _ip string, _port string, _nodeName string, _nodeAddress common.Address) (*types.Transaction, error)

SetAdminNode is a paid mutator transaction binding the contract method 0xbbe25f2c.

Solidity: function setAdminNode(string _nodeId, string _ip, string _port, string _nodeName, address _nodeAddress) returns()

func (*PermissionTransactorSession) UpdateNodeInfo

func (_Permission *PermissionTransactorSession) UpdateNodeInfo(_nodeId string, _ip string, _port string) (*types.Transaction, error)

UpdateNodeInfo is a paid mutator transaction binding the contract method 0x69c0fc6b.

Solidity: function updateNodeInfo(string _nodeId, string _ip, string _port) returns()

func (*PermissionTransactorSession) UpdateNodeName

func (_Permission *PermissionTransactorSession) UpdateNodeName(_nodeId string, _nodeName string) (*types.Transaction, error)

UpdateNodeName is a paid mutator transaction binding the contract method 0x1cd0b206.

Solidity: function updateNodeName(string _nodeId, string _nodeName) returns()

func (*PermissionTransactorSession) VoteForNewNodeApply

func (_Permission *PermissionTransactorSession) VoteForNewNodeApply(_nodeId string, _voterNodeId string) (*types.Transaction, error)

VoteForNewNodeApply is a paid mutator transaction binding the contract method 0xf4812238.

Solidity: function voteForNewNodeApply(string _nodeId, string _voterNodeId) payable returns()

func (*PermissionTransactorSession) VoteForRoleChange

func (_Permission *PermissionTransactorSession) VoteForRoleChange(_nodeId string, _voterNodeId string, _opCode string) (*types.Transaction, error)

VoteForRoleChange is a paid mutator transaction binding the contract method 0x66aa2299.

Solidity: function voteForRoleChange(string _nodeId, string _voterNodeId, string _opCode) payable returns()

type PermissionVerifyNotify

type PermissionVerifyNotify struct {
	EnodeId string
	OpCode  *big.Int
	Ip      string
	Port    string
	Raw     types.Log // Blockchain specific contextual infos
}

PermissionVerifyNotify represents a VerifyNotify event raised by the Permission contract.

type PermissionVerifyNotifyIterator

type PermissionVerifyNotifyIterator struct {
	Event *PermissionVerifyNotify // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

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.

func (*PermissionVerifyNotifyIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*PermissionVerifyNotifyIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*PermissionVerifyNotifyIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type QuorumControlsAPI

type QuorumControlsAPI struct {
	// contains filtered or unexported fields
}

func NewQuorumControlsAPI

func NewQuorumControlsAPI(s *Service) *QuorumControlsAPI

func (*QuorumControlsAPI) AcceptProposalForAdmin

func (q *QuorumControlsAPI) AcceptProposalForAdmin(fullNodeId string, from common.Address) (string, error)

AcceptProposalForAdmin 接受成为管理节点提案

func (*QuorumControlsAPI) AcceptProposalForCommon

func (q *QuorumControlsAPI) AcceptProposalForCommon(fullNodeId string, from common.Address) (string, error)

AcceptProposalForCommon 接受成为普通节点提案

func (*QuorumControlsAPI) AcceptProposalForExit

func (q *QuorumControlsAPI) AcceptProposalForExit(fullNodeId string, from common.Address) (string, error)

AcceptProposalForExit 接受节点退出联盟提案

func (*QuorumControlsAPI) AcceptProposalForJoin

func (q *QuorumControlsAPI) AcceptProposalForJoin(fullNodeId string, from common.Address) (string, error)

AcceptProposalForJoin 接受加入联盟提案

func (*QuorumControlsAPI) AddPeer

func (q *QuorumControlsAPI) AddPeer(url string, from common.Address) (bool, error)

AddPeer 添加节点

func (*QuorumControlsAPI) Exit

func (q *QuorumControlsAPI) Exit(from common.Address) (string, error)

Exit 自己直接退出网络

func (*QuorumControlsAPI) GetAdminCount

func (q *QuorumControlsAPI) GetAdminCount() (*big.Int, error)

func (*QuorumControlsAPI) GetAllStatingRecord

func (q *QuorumControlsAPI) GetAllStatingRecord(from common.Address) (string, error)

GetAllStatingRecord 获取正在进行的统计记录

func (*QuorumControlsAPI) GetContractAbi

func (q *QuorumControlsAPI) GetContractAbi(contractName string, from common.Address) (string, error)

GetContractAbi 根据合约名称获取合约的abi

func (*QuorumControlsAPI) GetNodeByRole

func (q *QuorumControlsAPI) GetNodeByRole(role *big.Int, from common.Address) (string, error)

GetNodeByRole 根据角色获取节点 check pass

func (*QuorumControlsAPI) GetNodeInfo

func (q *QuorumControlsAPI) GetNodeInfo(fullNodeId string, from common.Address) (string, error)

GetNodeInfo 获取节点信息 check pass

func (*QuorumControlsAPI) GetNodeInfoByName

func (q *QuorumControlsAPI) GetNodeInfoByName(nodeName string, from common.Address) (string, error)

GetNodeInfoByName 根据节点名称获取节点信息

func (*QuorumControlsAPI) GetNodeRole

func (q *QuorumControlsAPI) GetNodeRole(fullNodeId string, from common.Address) (*big.Int, error)

GetNodeRole 获取节点的角色

func (*QuorumControlsAPI) GetPermissionContractAddress

func (q *QuorumControlsAPI) GetPermissionContractAddress() (string, error)

GetPermissionContractAddress 获取权限合约地址 check pass

func (*QuorumControlsAPI) GetStateMap

func (q *QuorumControlsAPI) GetStateMap(fullNodeId string, opCode string, from common.Address) (string, error)

GetStateMap 获取节点申请的统计信息

func (*QuorumControlsAPI) GetStoreContractAddress

func (q *QuorumControlsAPI) GetStoreContractAddress() (string, error)

GetStoreContractAddress 获取存储abi合约地址 check pass

func (*QuorumControlsAPI) InitFinish

func (q *QuorumControlsAPI) InitFinish(from common.Address) (string, error)

InitFinish 完成联盟网络初始化

func (*QuorumControlsAPI) IsAdmin

func (q *QuorumControlsAPI) IsAdmin(fullNodeId string, from common.Address) (bool, error)

IsAdmin 是否是管理节点 check pass

func (*QuorumControlsAPI) IsNetworkInitFinished

func (q *QuorumControlsAPI) IsNetworkInitFinished() (bool, error)

IsNetworkInitFinished 联盟初始化网络是否完成

func (*QuorumControlsAPI) MakeProposalForAdmin

func (q *QuorumControlsAPI) MakeProposalForAdmin(fullNodeId string, from common.Address) (string, error)

MakeProposalForAdmin 发起成为管理节点提案

func (*QuorumControlsAPI) MakeProposalForCommon

func (q *QuorumControlsAPI) MakeProposalForCommon(fullNodeId string, from common.Address) (string, error)

MakeProposalForCommon 发起成为普通节点提案

func (*QuorumControlsAPI) MakeProposalForExit

func (q *QuorumControlsAPI) MakeProposalForExit(fullNodeId string, from common.Address) (string, error)

MakeProposalForExit 发起节点退出联盟提案

func (*QuorumControlsAPI) MakeProposalForJoin

func (q *QuorumControlsAPI) MakeProposalForJoin(fullNodeId string, nodeName string, nodeAddress common.Address, from common.Address) (string, error)

MakeProposalForJoin 发起加入联盟提案

func (*QuorumControlsAPI) NodeExists

func (q *QuorumControlsAPI) NodeExists(fullNodeId string) (bool, error)

NodeExists 节点是否存在

func (*QuorumControlsAPI) RejectProposalForAdmin

func (q *QuorumControlsAPI) RejectProposalForAdmin(fullNodeId string, from common.Address) (string, error)

RejectProposalForAdmin 拒绝成为管理节点提案

func (*QuorumControlsAPI) RejectProposalForCommon

func (q *QuorumControlsAPI) RejectProposalForCommon(fullNodeId string, from common.Address) (string, error)

RejectProposalForCommon 拒绝成为普通节点提案

func (*QuorumControlsAPI) RejectProposalForExit

func (q *QuorumControlsAPI) RejectProposalForExit(fullNodeId string, from common.Address) (string, error)

RejectProposalForExit 拒绝节点退出联盟提案

func (*QuorumControlsAPI) RejectProposalForJoin

func (q *QuorumControlsAPI) RejectProposalForJoin(fullNodeId string, from common.Address) (string, error)

RejectProposalForJoin 拒绝加入联盟提案

func (*QuorumControlsAPI) RemovePeer

func (q *QuorumControlsAPI) RemovePeer(url string) (bool, error)

RemovePeer 移除节点

func (*QuorumControlsAPI) SetAdminNode

func (q *QuorumControlsAPI) SetAdminNode(fullNodeId, nodeName string, address common.Address, from common.Address) (string, error)

SetAdminNode 设置给定的节点成为管理节点 在联盟网络初始化完成之前进行

func (*QuorumControlsAPI) SetPermissionContractAddress

func (q *QuorumControlsAPI) SetPermissionContractAddress(addr common.Address) (bool, error)

SetPermissionContractAddress 设置权限合约地址 check pass

func (*QuorumControlsAPI) SetStoreContractAddress

func (q *QuorumControlsAPI) SetStoreContractAddress(addr common.Address) (bool, error)

SetStoreContractAddress 设置存储合约的地址 check pass

func (*QuorumControlsAPI) StoreContractAbi

func (q *QuorumControlsAPI) StoreContractAbi(contractAddress common.Address, contractName string, abi string, from common.Address) (string, error)

StoreContractAbi 保存合约的abi

func (*QuorumControlsAPI) UpdateNodeInfo

func (q *QuorumControlsAPI) UpdateNodeInfo(from common.Address, ip string, port string) (string, error)

UpdateNodeInfo 节点自己更新ip和端口

func (*QuorumControlsAPI) UpdateNodeName

func (q *QuorumControlsAPI) UpdateNodeName(fullNodeId string, nodeName string, from common.Address) (string, error)

type Service

type Service struct {
	RaftProtocolManager *backend.ProtocolManager
	// contains filtered or unexported fields
}

func NewPermissionService

func NewPermissionService(stack *node.Node, ethereum *eth.SimpleService) (*Service, error)

func (*Service) APIs

func (s *Service) APIs() []rpc.API

func (*Service) AcceptProposalForAdmin

func (s *Service) AcceptProposalForAdmin(fullNodeId string, from common.Address) (string, error)

AcceptProposalForAdmin 节点升级投赞成票

func (*Service) AcceptProposalForCommon

func (s *Service) AcceptProposalForCommon(fullNodeId string, from common.Address) (string, error)

AcceptProposalForCommon 节点降级投票 使用fullNodeId和nodeAddress绑定组成一个节点的唯一标识

func (*Service) AcceptProposalForExit

func (s *Service) AcceptProposalForExit(fullNodeId string, from common.Address) (string, error)

AcceptProposalForExit 变成游离节点(退出联盟)

func (*Service) AcceptProposalForJoin

func (s *Service) AcceptProposalForJoin(fullNodeId string, from common.Address) (string, error)

AcceptProposalForJoin 对申请加入联盟进行投赞成票 AcceptProposalForJoin

func (*Service) AddPeer

func (s *Service) AddPeer(url string, from common.Address) (bool, error)

AddPeer 添加节点

func (*Service) CacheManager

func (s *Service) CacheManager()

func (*Service) Disagree

func (s *Service) Disagree(fullNodeId string, opCode int, from common.Address) (string, error)

Disagree 投反对票 包括加入,升级,降级

func (*Service) Exit

func (s *Service) Exit(from common.Address) (string, error)

Exit 自己退出网络 leave from network by self

func (*Service) GetAccountManager

func (s *Service) GetAccountManager() *accounts.Manager

func (*Service) GetAdminCount

func (s *Service) GetAdminCount() (*big.Int, error)

func (*Service) GetAllStatingRecord

func (s *Service) GetAllStatingRecord(from common.Address) (string, error)

func (*Service) GetCommonDb

func (s *Service) GetCommonDb() ethdb.Database

func (*Service) GetNodeByRole

func (s *Service) GetNodeByRole(role *big.Int, from common.Address) (string, error)

GetNodeByRole 根据角色类型获取节点

func (*Service) GetNodeInfo

func (s *Service) GetNodeInfo(fullNodeId string, from common.Address) (string, error)

func (*Service) GetNodeInfoByName

func (s *Service) GetNodeInfoByName(nodeName string, from common.Address) (string, error)

GetNodeInfoByName 通过节点名称获取节点信息

func (*Service) GetNodeRole

func (s *Service) GetNodeRole(fullNodeId string, from common.Address) (*big.Int, error)

GetNodeRole 获取节点的角色

//管理节点
uint admin=2;
//普通节点
uint common=0;
//游离节点
uint isolated=1;

func (*Service) GetPermissionContract

func (s *Service) GetPermissionContract() (*Permission, error)

GetPermissionContract 获取权限合约实例

func (*Service) GetStateMap

func (s *Service) GetStateMap(fullNodeId string, opCode string, from common.Address) (string, error)

func (*Service) InitFinish

func (s *Service) InitFinish(from common.Address) (string, error)

InitFinish 完成联盟网络初始化

func (*Service) IsAdmin

func (s *Service) IsAdmin(fullNodeId string, from common.Address) (bool, error)

func (*Service) MakeProposalForAdmin

func (s *Service) MakeProposalForAdmin(fullNodeId string, from common.Address) (string, error)

MakeProposalForAdmin 申请成为管理节点

func (*Service) MakeProposalForCommon

func (s *Service) MakeProposalForCommon(fullNodeId string, from common.Address) (string, error)

MakeProposalForCommon 申请成为普通节点

func (*Service) MakeProposalForExit

func (s *Service) MakeProposalForExit(fullNodeId string, from common.Address) (string, error)

MakeProposalForExit 发起退出联盟提案

func (*Service) MakeProposalForJoin

func (s *Service) MakeProposalForJoin(fullNodeId string, nodeName string, nodeAddress common.Address, from common.Address) (string, error)

MakeProposalForJoin 申请加入联盟 add new node application

func (*Service) Prepare

func (s *Service) Prepare() error

func (*Service) Protocols

func (s *Service) Protocols() []p2p.Protocol

func (*Service) RemovePeer

func (s *Service) RemovePeer(url string) (bool, error)

func (*Service) SetAdminNode

func (s *Service) SetAdminNode(fullNodeId string, nodeName string, address common.Address, from common.Address) (string, error)

SetAdminNode 设置管理员节点

func (*Service) SetContractAddress

func (s *Service) SetContractAddress(addr common.Address) (bool, error)

SetContractAddress 设置权限合约地址

func (*Service) SetInitFinishedFlag

func (s *Service) SetInitFinishedFlag(db ethdb.Database) error

func (*Service) Start

func (s *Service) Start(server *p2p.Server) error

func (*Service) Stop

func (s *Service) Stop() error

func (*Service) UpdateNodeInfo

func (s *Service) UpdateNodeInfo(from common.Address, ip, port string) (string, error)

UpdateNodeInfo 更新节点信息 只能自己更新 update node info

func (*Service) UpdateNodeName

func (s *Service) UpdateNodeName(fullNodeId string, nodeName string, from common.Address) (string, error)

func (*Service) WatchNetworkInitComplete

func (s *Service) WatchNetworkInitComplete()

type StoreAbi

type StoreAbi struct {
	StoreAbiCaller     // Read-only binding to the contract
	StoreAbiTransactor // Write-only binding to the contract
	StoreAbiFilterer   // Log filterer for contract events
}

StoreAbi is an auto generated Go binding around an Ethereum contract.

func DeployStoreAbi

func DeployStoreAbi(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *StoreAbi, error)

DeployStoreAbi deploys a new Ethereum contract, binding an instance of StoreAbi to it.

func NewStoreAbi

func NewStoreAbi(address common.Address, backend bind.ContractBackend) (*StoreAbi, error)

NewStoreAbi creates a new instance of StoreAbi, bound to a specific deployed contract.

type StoreAbiCaller

type StoreAbiCaller struct {
	// contains filtered or unexported fields
}

StoreAbiCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewStoreAbiCaller

func NewStoreAbiCaller(address common.Address, caller bind.ContractCaller) (*StoreAbiCaller, error)

NewStoreAbiCaller creates a new read-only instance of StoreAbi, bound to a specific deployed contract.

func (*StoreAbiCaller) GetAbi

func (_StoreAbi *StoreAbiCaller) GetAbi(opts *bind.CallOpts, name string) (common.Address, string, error)

GetAbi is a free data retrieval call binding the contract method 0x8d717ac5.

Solidity: function getAbi(string name) view returns(address, string)

type StoreAbiCallerRaw

type StoreAbiCallerRaw struct {
	Contract *StoreAbiCaller // Generic read-only contract binding to access the raw methods on
}

StoreAbiCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*StoreAbiCallerRaw) Call

func (_StoreAbi *StoreAbiCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type StoreAbiCallerSession

type StoreAbiCallerSession struct {
	Contract *StoreAbiCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts   // Call options to use throughout this session
}

StoreAbiCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*StoreAbiCallerSession) GetAbi

func (_StoreAbi *StoreAbiCallerSession) GetAbi(name string) (common.Address, string, error)

GetAbi is a free data retrieval call binding the contract method 0x8d717ac5.

Solidity: function getAbi(string name) view returns(address, string)

type StoreAbiFilterer

type StoreAbiFilterer struct {
	// contains filtered or unexported fields
}

StoreAbiFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewStoreAbiFilterer

func NewStoreAbiFilterer(address common.Address, filterer bind.ContractFilterer) (*StoreAbiFilterer, error)

NewStoreAbiFilterer creates a new log filterer instance of StoreAbi, bound to a specific deployed contract.

type StoreAbiRaw

type StoreAbiRaw struct {
	Contract *StoreAbi // Generic contract binding to access the raw methods on
}

StoreAbiRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*StoreAbiRaw) Call

func (_StoreAbi *StoreAbiRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*StoreAbiRaw) Transact

func (_StoreAbi *StoreAbiRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*StoreAbiRaw) Transfer

func (_StoreAbi *StoreAbiRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type StoreAbiSession

type StoreAbiSession struct {
	Contract     *StoreAbi         // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

StoreAbiSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*StoreAbiSession) GetAbi

func (_StoreAbi *StoreAbiSession) GetAbi(name string) (common.Address, string, error)

GetAbi is a free data retrieval call binding the contract method 0x8d717ac5.

Solidity: function getAbi(string name) view returns(address, string)

func (*StoreAbiSession) Set

func (_StoreAbi *StoreAbiSession) Set(name string, addr common.Address, _abi string) (*types.Transaction, error)

Set is a paid mutator transaction binding the contract method 0x1ff5020f.

Solidity: function set(string name, address addr, string _abi) payable returns()

type StoreAbiTransactor

type StoreAbiTransactor struct {
	// contains filtered or unexported fields
}

StoreAbiTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewStoreAbiTransactor

func NewStoreAbiTransactor(address common.Address, transactor bind.ContractTransactor) (*StoreAbiTransactor, error)

NewStoreAbiTransactor creates a new write-only instance of StoreAbi, bound to a specific deployed contract.

func (*StoreAbiTransactor) Set

func (_StoreAbi *StoreAbiTransactor) Set(opts *bind.TransactOpts, name string, addr common.Address, _abi string) (*types.Transaction, error)

Set is a paid mutator transaction binding the contract method 0x1ff5020f.

Solidity: function set(string name, address addr, string _abi) payable returns()

type StoreAbiTransactorRaw

type StoreAbiTransactorRaw struct {
	Contract *StoreAbiTransactor // Generic write-only contract binding to access the raw methods on
}

StoreAbiTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*StoreAbiTransactorRaw) Transact

func (_StoreAbi *StoreAbiTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*StoreAbiTransactorRaw) Transfer

func (_StoreAbi *StoreAbiTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type StoreAbiTransactorSession

type StoreAbiTransactorSession struct {
	Contract     *StoreAbiTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
}

StoreAbiTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*StoreAbiTransactorSession) Set

func (_StoreAbi *StoreAbiTransactorSession) Set(name string, addr common.Address, _abi string) (*types.Transaction, error)

Set is a paid mutator transaction binding the contract method 0x1ff5020f.

Solidity: function set(string name, address addr, string _abi) payable returns()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL