did

package
v0.7.2 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2018 License: AGPL-3.0 Imports: 20 Imported by: 6

Documentation

Index

Constants

View Source
const (
	ValidatorSetChangePrefix string = "val:"
)

Variables

View Source
var IsCheckOwnerRequestMethod = map[string]bool{
	"CloseRequest":    true,
	"TimeOutRequest":  true,
	"SetDataReceived": true,
}
View Source
var IsMasterKeyMethod = map[string]bool{
	"UpdateNode": true,
}
View Source
var IsMethod = map[string]bool{
	"InitNDID":                         true,
	"RegisterNode":                     true,
	"AddNodeToken":                     true,
	"ReduceNodeToken":                  true,
	"SetNodeToken":                     true,
	"SetPriceFunc":                     true,
	"AddNamespace":                     true,
	"SetValidator":                     true,
	"AddService":                       true,
	"UpdateNodeByNDID":                 true,
	"UpdateService":                    true,
	"RegisterServiceDestinationByNDID": true,
	"DisableNode":                      true,
	"DisableNamespace":                 true,
	"DisableService":                   true,
	"DisableServiceDestinationByNDID":  true,
	"EnableNode":                       true,
	"EnableServiceDestinationByNDID":   true,
	"EnableNamespace":                  true,
	"EnableService":                    true,
	"RegisterMsqDestination":           true,
	"AddAccessorMethod":                true,
	"CreateIdpResponse":                true,
	"CreateIdentity":                   true,
	"UpdateIdentity":                   true,
	"DeclareIdentityProof":             true,

	"SignData":                              true,
	"RegisterServiceDestination":            true,
	"UpdateServiceDestination":              true,
	"CreateRequest":                         true,
	"RegisterMsqAddress":                    true,
	"UpdateNode":                            true,
	"CloseRequest":                          true,
	"TimeOutRequest":                        true,
	"SetDataReceived":                       true,
	"DisableServiceDestination":             true,
	"EnableServiceDestination":              true,
	"ClearRegisterMsqDestinationTimeout":    true,
	"SetTimeOutBlockRegisterMsqDestination": true,
}

Functions

func CheckTxRouter

func CheckTxRouter(method string, param string, nonce string, signature string, nodeID string, app *DIDApplication) types.ResponseCheckTx

CheckTxRouter is Pointer to function

func DeliverTxRouter

func DeliverTxRouter(method string, param string, nonce string, signature string, nodeID string, app *DIDApplication) types.ResponseDeliverTx

DeliverTxRouter is Pointer to function

func QueryRouter

func QueryRouter(method string, param string, app *DIDApplication, height int64) types.ResponseQuery

QueryRouter is Pointer to function

func ReturnCheckTx

func ReturnCheckTx(code uint32, log string) types.ResponseCheckTx

ReturnCheckTx return types.ResponseDeliverTx

func ReturnDeliverTxLog

func ReturnDeliverTxLog(code uint32, log string, extraData string) types.ResponseDeliverTx

ReturnDeliverTxLog return types.ResponseDeliverTx

func ReturnQuery

func ReturnQuery(value []byte, log string, height int64, app *DIDApplication) types.ResponseQuery

ReturnQuery return types.ResponseQuery

Types

type ASNode

type ASNode struct {
	ID        string  `json:"node_id"`
	Name      string  `json:"node_name"`
	MinIal    float64 `json:"min_ial"`
	MinAal    float64 `json:"min_aal"`
	ServiceID string  `json:"service_id"`
	Active    bool    `json:"active"`
}

type ASNodeResult

type ASNodeResult struct {
	ID     string  `json:"node_id"`
	Name   string  `json:"node_name"`
	MinIal float64 `json:"min_ial"`
	MinAal float64 `json:"min_aal"`
}

type Accessor

type Accessor struct {
	AccessorType      string `json:"accessor_type"`
	AccessorPublicKey string `json:"accessor_public_key"`
	AccessorGroupID   string `json:"accessor_group_id"`
	Active            bool   `json:"active"`
	Owner             string `json:"owner"`
}

type AccessorMethod

type AccessorMethod struct {
	AccessorID        string `json:"accessor_id"`
	AccessorType      string `json:"accessor_type"`
	AccessorPublicKey string `json:"accessor_public_key"`
	AccessorGroupID   string `json:"accessor_group_id"`
	RequestID         string `json:"request_id"`
}

type AddNodeTokenParam

type AddNodeTokenParam struct {
	NodeID string  `json:"node_id"`
	Amount float64 `json:"amount"`
}

type AddServiceParam

type AddServiceParam struct {
	ServiceID   string `json:"service_id"`
	ServiceName string `json:"service_name"`
}

type ApproveService

type ApproveService struct {
	Active bool `json:"active"`
}

type CheckExistingAccessorGroupIDParam

type CheckExistingAccessorGroupIDParam struct {
	AccessorGroupID string `json:"accessor_group_id"`
}

type CheckExistingAccessorIDParam

type CheckExistingAccessorIDParam struct {
	AccessorID string `json:"accessor_id"`
}

type CheckExistingIdentityParam

type CheckExistingIdentityParam struct {
	HashID string `json:"hash_id"`
}

type CheckExistingIdentityResult

type CheckExistingIdentityResult struct {
	Exist bool `json:"exist"`
}

type CheckExistingResult

type CheckExistingResult struct {
	Exist bool `json:"exist"`
}

type ClearRegisterMsqDestinationTimeoutParam

type ClearRegisterMsqDestinationTimeoutParam struct {
	HashID string `json:"hash_id"`
}

type CloseRequestParam

type CloseRequestParam struct {
	RequestID         string          `json:"request_id"`
	ResponseValidList []ResponseValid `json:"response_valid_list"`
}

type CreateIdentityParam

type CreateIdentityParam struct {
	AccessorID        string `json:"accessor_id"`
	AccessorType      string `json:"accessor_type"`
	AccessorPublicKey string `json:"accessor_public_key"`
	AccessorGroupID   string `json:"accessor_group_id"`
}

type CreateIdpResponseParam

type CreateIdpResponseParam struct {
	RequestID        string  `json:"request_id"`
	Ial              float64 `json:"ial"`
	Aal              float64 `json:"aal"`
	Status           string  `json:"status"`
	Signature        string  `json:"signature"`
	IdentityProof    string  `json:"identity_proof"`
	PrivateProofHash string  `json:"private_proof_hash"`
}

type DIDApplication

type DIDApplication struct {
	types.BaseApplication

	ValUpdates []types.Validator

	Version      string
	CurrentBlock int64
	// contains filtered or unexported fields
}

func NewDIDApplication

func NewDIDApplication(logger *logrus.Entry, tree *iavl.VersionedTree) *DIDApplication

func (*DIDApplication) BeginBlock

Track the block hash and header information

func (*DIDApplication) CheckTx

func (app *DIDApplication) CheckTx(tx []byte) (res types.ResponseCheckTx)

func (*DIDApplication) Commit

func (app *DIDApplication) Commit() types.ResponseCommit

func (*DIDApplication) DeleteStateDB

func (app *DIDApplication) DeleteStateDB(key []byte)

func (*DIDApplication) DeliverTx

func (app *DIDApplication) DeliverTx(tx []byte) (res types.ResponseDeliverTx)

func (*DIDApplication) EndBlock

Update the validator set

func (*DIDApplication) Info

func (app *DIDApplication) Info(req types.RequestInfo) (resInfo types.ResponseInfo)

func (*DIDApplication) InitChain

Save the validators in the merkle tree

func (*DIDApplication) Query

func (app *DIDApplication) Query(reqQuery types.RequestQuery) (res types.ResponseQuery)

func (*DIDApplication) SetStateDB

func (app *DIDApplication) SetStateDB(key, value []byte)

func (*DIDApplication) Validators

func (app *DIDApplication) Validators() (validators []types.Validator)

type DataRequest

type DataRequest struct {
	ServiceID            string   `json:"service_id"`
	As                   []string `json:"as_id_list"`
	Count                int      `json:"min_as"`
	RequestParamsHash    string   `json:"request_params_hash"`
	AnsweredAsIdList     []string `json:"answered_as_id_list"`
	ReceivedDataFromList []string `json:"received_data_from_list"`
}

type DeclareIdentityProofParam

type DeclareIdentityProofParam struct {
	IdentityProof string `json:"identity_proof"`
	RequestID     string `json:"request_id"`
}

type DisableAccessorMethodParam

type DisableAccessorMethodParam struct {
	AccessorID string `json:"accessor_id"`
}

type DisableMsqDestinationParam

type DisableMsqDestinationParam struct {
	HashID string `json:"hash_id"`
}

type DisableNamespaceParam

type DisableNamespaceParam struct {
	Namespace string `json:"namespace"`
}

type DisableNodeParam

type DisableNodeParam struct {
	NodeID string `json:"node_id"`
}

type DisableServiceDestinationByNDIDParam

type DisableServiceDestinationByNDIDParam struct {
	ServiceID string `json:"service_id"`
	NodeID    string `json:"node_id"`
}

type DisableServiceDestinationParam

type DisableServiceDestinationParam struct {
	ServiceID string `json:"service_id"`
}

type DisableServiceParam

type DisableServiceParam struct {
	ServiceID string `json:"service_id"`
}

type GetAccessorGroupIDParam

type GetAccessorGroupIDParam struct {
	AccessorID string `json:"accessor_id"`
}

type GetAccessorGroupIDResult

type GetAccessorGroupIDResult struct {
	AccessorGroupID string `json:"accessor_group_id"`
}

type GetAccessorKeyParam

type GetAccessorKeyParam struct {
	AccessorID string `json:"accessor_id"`
}

type GetAccessorKeyResult

type GetAccessorKeyResult struct {
	AccessorPublicKey string `json:"accessor_public_key"`
	Active            bool   `json:"active"`
}

type GetAccessorMethodParam

type GetAccessorMethodParam struct {
	AccessorID string `json:"accessor_id"`
}

type GetAccessorMethodResult

type GetAccessorMethodResult struct {
	AccessorType string `json:"accessor_type"`
	AccessorKey  string `json:"accessor_key"`
	Commitment   string `json:"commitment"`
}

type GetAsNodesByServiceIdParam

type GetAsNodesByServiceIdParam struct {
	ServiceID string `json:"service_id"`
}

type GetAsNodesByServiceIdResult

type GetAsNodesByServiceIdResult struct {
	Node []ASNode `json:"node"`
}

type GetAsNodesByServiceIdWithNameResult

type GetAsNodesByServiceIdWithNameResult struct {
	Node []ASNodeResult `json:"node"`
}

type GetDataSignatureParam

type GetDataSignatureParam struct {
	NodeID    string `json:"node_id"`
	ServiceID string `json:"service_id"`
	RequestID string `json:"request_id"`
}

type GetDataSignatureResult

type GetDataSignatureResult struct {
	Signature string `json:"signature"`
}

type GetIdentityInfoParam

type GetIdentityInfoParam struct {
	HashID string `json:"hash_id"`
	NodeID string `json:"node_id"`
}

type GetIdentityInfoResult

type GetIdentityInfoResult struct {
	Ial float64 `json:"ial"`
}

type GetIdentityProofParam

type GetIdentityProofParam struct {
	IdpID     string `json:"idp_id"`
	RequestID string `json:"request_id"`
}

type GetIdentityProofResult

type GetIdentityProofResult struct {
	IdentityProof string `json:"identity_proof"`
}

type GetIdpNodesParam

type GetIdpNodesParam struct {
	HashID string  `json:"hash_id"`
	MinIal float64 `json:"min_ial"`
	MinAal float64 `json:"min_aal"`
}

type GetIdpNodesResult

type GetIdpNodesResult struct {
	Node []MsqDestinationNode `json:"node"`
}

type GetMsqAddressParam

type GetMsqAddressParam struct {
	NodeID string `json:"node_id"`
}

type GetNodeInfoIdPResult

type GetNodeInfoIdPResult struct {
	PublicKey       string  `json:"public_key"`
	MasterPublicKey string  `json:"master_public_key"`
	NodeName        string  `json:"node_name"`
	Role            string  `json:"role"`
	MaxIal          float64 `json:"max_ial"`
	MaxAal          float64 `json:"max_aal"`
}

type GetNodeInfoParam

type GetNodeInfoParam struct {
	NodeID string `json:"node_id"`
}

type GetNodeInfoResult

type GetNodeInfoResult struct {
	PublicKey       string `json:"public_key"`
	MasterPublicKey string `json:"master_public_key"`
	NodeName        string `json:"node_name"`
	Role            string `json:"role"`
}

type GetNodeMasterPublicKeyParam

type GetNodeMasterPublicKeyParam struct {
	NodeID string `json:"node_id"`
}

type GetNodeMasterPublicKeyResult

type GetNodeMasterPublicKeyResult struct {
	MasterPublicKey string `json:"master_public_key"`
}

type GetNodePublicKeyParam

type GetNodePublicKeyParam struct {
	NodeID string `json:"node_id"`
}

type GetNodePublicKeyResult

type GetNodePublicKeyResult struct {
	PublicKey string `json:"public_key"`
}

type GetNodeTokenParam

type GetNodeTokenParam struct {
	NodeID string `json:"node_id"`
}

type GetNodeTokenResult

type GetNodeTokenResult struct {
	Amount float64 `json:"amount"`
}

type GetPriceFuncParam

type GetPriceFuncParam struct {
	Func string `json:"func"`
}

type GetPriceFuncResult

type GetPriceFuncResult struct {
	Price float64 `json:"price"`
}

type GetRequestDetailResult

type GetRequestDetailResult struct {
	RequestID       string        `json:"request_id"`
	MinIdp          int           `json:"min_idp"`
	MinAal          float64       `json:"min_aal"`
	MinIal          float64       `json:"min_ial"`
	Timeout         int           `json:"request_timeout"`
	DataRequestList []DataRequest `json:"data_request_list"`
	MessageHash     string        `json:"request_message_hash"`
	Responses       []Response    `json:"response_list"`
	IsClosed        bool          `json:"closed"`
	IsTimedOut      bool          `json:"timed_out"`
	Special         bool          `json:"special"`
	Mode            int           `json:"mode"`
}

type GetRequestParam

type GetRequestParam struct {
	RequestID string `json:"request_id"`
}

type GetRequestResult

type GetRequestResult struct {
	IsClosed    bool   `json:"closed"`
	IsTimedOut  bool   `json:"timed_out"`
	MessageHash string `json:"request_message_hash"`
	Mode        int    `json:"mode"`
}

type GetServiceDetailParam

type GetServiceDetailParam struct {
	ServiceID string `json:"service_id"`
}

type GetServicesByAsIDParam

type GetServicesByAsIDParam struct {
	AsID string `json:"as_id"`
}

type GetServicesByAsIDResult

type GetServicesByAsIDResult struct {
	Services []Service `json:"services"`
}

type GetUsedTokenReportParam

type GetUsedTokenReportParam struct {
	NodeID string `json:"node_id"`
}

type InitNDIDParam

type InitNDIDParam struct {
	NodeID          string `json:"node_id"`
	PublicKey       string `json:"public_key"`
	MasterPublicKey string `json:"master_public_key"`
}

type MaxIalAal

type MaxIalAal struct {
	MaxIal float64 `json:"max_ial"`
	MaxAal float64 `json:"max_aal"`
}

type MsqAddress

type MsqAddress struct {
	IP   string `json:"ip"`
	Port int64  `json:"port"`
}

type MsqDestination

type MsqDestination struct {
	Nodes []Node `json:"nodes"`
}

type MsqDestinationNode

type MsqDestinationNode struct {
	ID     string  `json:"node_id"`
	Name   string  `json:"node_name"`
	MaxIal float64 `json:"max_ial"`
	MaxAal float64 `json:"max_aal"`
}

type Namespace

type Namespace struct {
	Namespace   string `json:"namespace"`
	Description string `json:"description"`
	Active      bool   `json:"active"`
}

type Node

type Node struct {
	Ial          float64 `json:"ial"`
	NodeID       string  `json:"node_id"`
	Active       bool    `json:"active"`
	First        bool    `json:"first"`
	TimeoutBlock int64   `json:"timeout_block"`
}

type NodeDetail

type NodeDetail struct {
	PublicKey       string `json:"public_key"`
	MasterPublicKey string `json:"master_public_key"`
	NodeName        string `json:"node_name"`
	Role            string `json:"role"`
	Active          bool   `json:"active"`
}

type NodePublicKey

type NodePublicKey struct {
	NodeID    string `json:"node_id"`
	PublicKey string `json:"public_key"`
}

type ReduceNodeTokenParam

type ReduceNodeTokenParam struct {
	NodeID string  `json:"node_id"`
	Amount float64 `json:"amount"`
}

type RegisterMsqAddressParam

type RegisterMsqAddressParam struct {
	NodeID string `json:"node_id"`
	IP     string `json:"ip"`
	Port   int64  `json:"port"`
}

type RegisterMsqDestinationParam

type RegisterMsqDestinationParam struct {
	Users []User `json:"users"`
}

type RegisterNode

type RegisterNode struct {
	NodeID          string  `json:"node_id"`
	PublicKey       string  `json:"public_key"`
	MasterPublicKey string  `json:"master_public_key"`
	NodeName        string  `json:"node_name"`
	Role            string  `json:"role"`
	MaxIal          float64 `json:"max_ial"`
	MaxAal          float64 `json:"max_aal"`
}

type RegisterServiceDestinationByNDIDParam

type RegisterServiceDestinationByNDIDParam struct {
	ServiceID string `json:"service_id"`
	NodeID    string `json:"node_id"`
}

type RegisterServiceDestinationParam

type RegisterServiceDestinationParam struct {
	ServiceID string  `json:"service_id"`
	MinIal    float64 `json:"min_ial"`
	MinAal    float64 `json:"min_aal"`
}

type Report

type Report struct {
	Method string  `json:"method"`
	Price  float64 `json:"price"`
	Data   string  `json:"data"`
}

type Request

type Request struct {
	RequestID       string        `json:"request_id"`
	MinIdp          int           `json:"min_idp"`
	MinAal          float64       `json:"min_aal"`
	MinIal          float64       `json:"min_ial"`
	Timeout         int           `json:"request_timeout"`
	DataRequestList []DataRequest `json:"data_request_list"`
	MessageHash     string        `json:"request_message_hash"`
	Responses       []Response    `json:"response_list"`
	IsClosed        bool          `json:"closed"`
	IsTimedOut      bool          `json:"timed_out"`
	CanAddAccessor  bool          `json:"can_add_accessor"`
	Owner           string        `json:"owner"`
	Mode            int           `json:"mode"`
}

type RequestIDParam

type RequestIDParam struct {
	RequestID string `json:"request_id"`
}

type Response

type Response struct {
	Ial              float64 `json:"ial"`
	Aal              float64 `json:"aal"`
	Status           string  `json:"status"`
	Signature        string  `json:"signature"`
	IdentityProof    string  `json:"identity_proof"`
	PrivateProofHash string  `json:"private_proof_hash"`
	IdpID            string  `json:"idp_id"`
	ValidProof       *bool   `json:"valid_proof"`
	ValidIal         *bool   `json:"valid_ial"`
	ValidSignature   *bool   `json:"valid_signature"`
}

type ResponseValid

type ResponseValid struct {
	IdpID          string `json:"idp_id"`
	ValidProof     *bool  `json:"valid_proof"`
	ValidIal       *bool  `json:"valid_ial"`
	ValidSignature *bool  `json:"valid_signature"`
}

type Service

type Service struct {
	ServiceID string  `json:"service_id"`
	MinIal    float64 `json:"min_ial"`
	MinAal    float64 `json:"min_aal"`
	Active    bool    `json:"active"`
	Suspended bool    `json:"suspended"`
}

type ServiceDetail

type ServiceDetail struct {
	ServiceID   string `json:"service_id"`
	ServiceName string `json:"service_name"`
	Active      bool   `json:"active"`
}

type SetDataReceivedParam

type SetDataReceivedParam struct {
	RequestID string `json:"request_id"`
	ServiceID string `json:"service_id"`
	AsID      string `json:"as_id"`
}

type SetNodeTokenParam

type SetNodeTokenParam struct {
	NodeID string  `json:"node_id"`
	Amount float64 `json:"amount"`
}

type SetPriceFuncParam

type SetPriceFuncParam struct {
	Func  string  `json:"func"`
	Price float64 `json:"price"`
}

type SetValidatorParam

type SetValidatorParam struct {
	PublicKey string `json:"public_key"`
	Power     int64  `json:"power"`
}

type SignDataParam

type SignDataParam struct {
	ServiceID string `json:"service_id"`
	RequestID string `json:"request_id"`
	Signature string `json:"signature"`
}

type State

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

type TimeOutBlockRegisterMsqDestination

type TimeOutBlockRegisterMsqDestination struct {
	TimeOutBlock int64 `json:"time_out_block"`
}

type TimeOutRequestParam

type TimeOutRequestParam struct {
	RequestID         string          `json:"request_id"`
	ResponseValidList []ResponseValid `json:"response_valid_list"`
}

type TransferNDIDParam

type TransferNDIDParam struct {
	PublicKey string `json:"public_key"`
}

type UpdateIdentityParam

type UpdateIdentityParam struct {
	HashID string  `json:"hash_id"`
	Ial    float64 `json:"ial"`
}

type UpdateNodeByNDIDParam

type UpdateNodeByNDIDParam struct {
	NodeID   string  `json:"node_id"`
	MaxIal   float64 `json:"max_ial"`
	MaxAal   float64 `json:"max_aal"`
	NodeName string  `json:"node_name"`
}

type UpdateNodeParam

type UpdateNodeParam struct {
	PublicKey       string `json:"public_key"`
	MasterPublicKey string `json:"master_public_key"`
}

type UpdateServiceDestinationParam

type UpdateServiceDestinationParam struct {
	ServiceID string  `json:"service_id"`
	MinIal    float64 `json:"min_ial"`
	MinAal    float64 `json:"min_aal"`
}

type UpdateServiceParam

type UpdateServiceParam struct {
	ServiceID   string `json:"service_id"`
	ServiceName string `json:"service_name"`
}

type User

type User struct {
	HashID string  `json:"hash_id"`
	Ial    float64 `json:"ial"`
	First  bool    `json:"first"`
}

Jump to

Keyboard shortcuts

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