presentproof

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: May 9, 2023 License: Apache-2.0 Imports: 13 Imported by: 8

Documentation

Index

Constants

View Source
const (
	// InvalidRequestErrorCode is typically a code for validation errors
	// for invalid present proof controller requests.
	InvalidRequestErrorCode = command.Code(iota + command.PresentProof)
	// ActionsErrorCode is for failures in actions command.
	ActionsErrorCode
	// SendRequestPresentationErrorCode is for failures in send request presentation command.
	SendRequestPresentationErrorCode
	// AcceptRequestPresentationErrorCode is for failures in accept request presentation command.
	AcceptRequestPresentationErrorCode
	// AcceptProblemReportErrorCode is for failures in accept problem report command.
	AcceptProblemReportErrorCode
	// NegotiateRequestPresentationErrorCode is for failures in negotiate request presentation command.
	NegotiateRequestPresentationErrorCode
	// DeclineRequestPresentationErrorCode is for failures in decline request presentation command.
	DeclineRequestPresentationErrorCode
	// SendProposePresentationErrorCode is for failures in send propose presentation command.
	SendProposePresentationErrorCode
	// AcceptProposePresentationErrorCode is for failures in accept propose presentation command.
	AcceptProposePresentationErrorCode
	// DeclineProposePresentationErrorCode is for failures in decline propose presentation command.
	DeclineProposePresentationErrorCode
	// AcceptPresentationErrorCode is for failures in accept presentation command.
	AcceptPresentationErrorCode
	// DeclinePresentationErrorCode is for failures in decline presentation command.
	DeclinePresentationErrorCode
)
View Source
const (
	// command name.
	CommandName = "presentproof"

	Actions                        = "Actions"
	SendRequestPresentation        = "SendRequestPresentation"
	SendRequestPresentationV2      = "SendRequestPresentationV2"
	SendRequestPresentationV3      = "SendRequestPresentationV3"
	AcceptRequestPresentation      = "AcceptRequestPresentation"
	AcceptRequestPresentationV2    = "AcceptRequestPresentationV2"
	AcceptRequestPresentationV3    = "AcceptRequestPresentationV3"
	NegotiateRequestPresentation   = "NegotiateRequestPresentation"
	NegotiateRequestPresentationV2 = "NegotiateRequestPresentationV2"
	NegotiateRequestPresentationV3 = "NegotiateRequestPresentationV3"
	AcceptProblemReport            = "AcceptProblemReport"
	DeclineRequestPresentation     = "DeclineRequestPresentation"
	SendProposePresentation        = "SendProposePresentation"
	SendProposePresentationV2      = "SendProposePresentationV2"
	SendProposePresentationV3      = "SendProposePresentationV3"
	AcceptProposePresentation      = "AcceptProposePresentation"
	AcceptProposePresentationV2    = "AcceptProposePresentationV2"
	AcceptProposePresentationV3    = "AcceptProposePresentationV3"
	DeclineProposePresentation     = "DeclineProposePresentation"
	AcceptPresentation             = "AcceptPresentation"
	DeclinePresentation            = "DeclinePresentation"
)

constants for the PresentProof operations.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcceptPresentationArgs

type AcceptPresentationArgs struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// Names represent the names of how presentations will be stored
	Names []string `json:"names"`
	// RedirectURL is optional web redirect URL that can be sent to prover.
	// Useful in cases where verifier would want prover to redirect once protocol is over.
	RedirectURL string `json:"redirectURL"`
}

AcceptPresentationArgs model

This is used for accepting a presentation.

type AcceptPresentationResponse

type AcceptPresentationResponse struct{}

AcceptPresentationResponse model

Represents a AcceptPresentation response message.

type AcceptProblemReportArgs added in v0.1.4

type AcceptProblemReportArgs struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
}

AcceptProblemReportArgs model

This is used for accepting a problem report.

type AcceptProblemReportResponse added in v0.1.4

type AcceptProblemReportResponse struct{}

AcceptProblemReportResponse model

Represents a AcceptProblemReport response message.

type AcceptProposePresentationArgs

type AcceptProposePresentationArgs struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// RequestPresentation describes values that need to be revealed and predicates that need to be fulfilled.
	RequestPresentation *presentproof.RequestPresentation `json:"request_presentation"`
}

AcceptProposePresentationArgs model

This is used for accepting a propose presentation.

type AcceptProposePresentationResponse

type AcceptProposePresentationResponse struct{}

AcceptProposePresentationResponse model

Represents a AcceptProposePresentation response message.

type AcceptProposePresentationV2Args added in v0.1.8

type AcceptProposePresentationV2Args struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// RequestPresentation describes values that need to be revealed and predicates that need to be fulfilled.
	RequestPresentation *presentproof.RequestPresentationV2 `json:"request_presentation"`
}

AcceptProposePresentationV2Args model

This is used for accepting a propose presentation.

type AcceptProposePresentationV3Args added in v0.1.7

type AcceptProposePresentationV3Args struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// RequestPresentation describes values that need to be revealed and predicates that need to be fulfilled.
	RequestPresentation *presentproof.RequestPresentationV3 `json:"request_presentation"`
}

AcceptProposePresentationV3Args model

This is used for accepting a propose presentation.

type AcceptRequestPresentationArgs

type AcceptRequestPresentationArgs struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// Presentation is a message that contains signed presentations.
	Presentation *presentproof.Presentation `json:"presentation"`
}

AcceptRequestPresentationArgs model

This is used for accepting a request presentation.

type AcceptRequestPresentationResponse

type AcceptRequestPresentationResponse struct{}

AcceptRequestPresentationResponse model

Represents a AcceptRequestPresentation response message.

type AcceptRequestPresentationV2Args added in v0.1.8

type AcceptRequestPresentationV2Args struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// Presentation is a message that contains signed presentations.
	Presentation *presentproof.PresentationV2 `json:"presentation"`
}

AcceptRequestPresentationV2Args model

This is used for accepting a request presentation.

type AcceptRequestPresentationV3Args added in v0.1.7

type AcceptRequestPresentationV3Args struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// Presentation is a message that contains signed presentations.
	Presentation *presentproof.PresentationV3 `json:"presentation"`
}

AcceptRequestPresentationV3Args model

This is used for accepting a request presentation.

type ActionsResponse

type ActionsResponse struct {
	Actions []presentproof.Action `json:"actions"`
}

ActionsResponse model

Represents Actions response message.

type Command

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

Command is controller command for present proof.

func New

func New(ctx Provider, notifier command.Notifier) (*Command, error)

New returns new present proof controller command instance.

func (*Command) AcceptPresentation

func (c *Command) AcceptPresentation(rw io.Writer, req io.Reader) command.Error

AcceptPresentation is used by the Verifier to accept a presentation.

func (*Command) AcceptProblemReport added in v0.1.4

func (c *Command) AcceptProblemReport(rw io.Writer, req io.Reader) command.Error

AcceptProblemReport is used for accepting problem report.

func (*Command) AcceptProposePresentation

func (c *Command) AcceptProposePresentation(rw io.Writer, req io.Reader) command.Error

AcceptProposePresentation is used when the Verifier is willing to accept the propose presentation.

func (*Command) AcceptRequestPresentation

func (c *Command) AcceptRequestPresentation(rw io.Writer, req io.Reader) command.Error

AcceptRequestPresentation is used by the Prover is to accept a presentation request.

func (*Command) Actions

func (c *Command) Actions(rw io.Writer, _ io.Reader) command.Error

Actions returns pending actions that have not yet to be executed or canceled.

func (*Command) DeclinePresentation

func (c *Command) DeclinePresentation(rw io.Writer, req io.Reader) command.Error

DeclinePresentation is used by the Verifier to decline a presentation.

func (*Command) DeclineProposePresentation

func (c *Command) DeclineProposePresentation(rw io.Writer, req io.Reader) command.Error

DeclineProposePresentation is used when the Verifier does not want to accept the propose presentation.

func (*Command) DeclineRequestPresentation

func (c *Command) DeclineRequestPresentation(rw io.Writer, req io.Reader) command.Error

DeclineRequestPresentation is used when the Prover does not want to accept the request presentation.

func (*Command) GetHandlers

func (c *Command) GetHandlers() []command.Handler

GetHandlers returns list of all commands supported by this controller command.

func (*Command) NegotiateRequestPresentation

func (c *Command) NegotiateRequestPresentation(rw io.Writer, req io.Reader) command.Error

NegotiateRequestPresentation is used by the Prover to counter a presentation request they received with a proposal.

func (*Command) SendProposePresentation

func (c *Command) SendProposePresentation(rw io.Writer, req io.Reader) command.Error

SendProposePresentation is used by the Prover to send a propose presentation.

func (*Command) SendRequestPresentation

func (c *Command) SendRequestPresentation(rw io.Writer, req io.Reader) command.Error

SendRequestPresentation is used by the Verifier to send a request presentation.

type DeclinePresentationArgs

type DeclinePresentationArgs struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// Reason why presentation is declined
	Reason string `json:"reason"`
	// RedirectURL is optional web redirect URL that can be sent to prover.
	// Useful in cases where verifier would want prover to redirect once presentation is declined.
	RedirectURL string `json:"redirectURL"`
}

DeclinePresentationArgs model

This is used when the presentation needs to be rejected.

type DeclinePresentationResponse

type DeclinePresentationResponse struct{}

DeclinePresentationResponse model

Represents a DeclinePresentation response message.

type DeclineProposePresentationArgs

type DeclineProposePresentationArgs struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// Reason why proposal is declined
	Reason string `json:"reason"`
	// RedirectURL is optional web redirect URL that can be sent to prover.
	// Useful in cases where verifier would want prover to redirect after its proposal gets declined.
	RedirectURL string `json:"redirectURL"`
}

DeclineProposePresentationArgs model

This is used when proposal needs to be rejected.

type DeclineProposePresentationResponse

type DeclineProposePresentationResponse struct{}

DeclineProposePresentationResponse model

Represents a DeclineProposePresentation response message.

type DeclineRequestPresentationArgs

type DeclineRequestPresentationArgs struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// Reason why request is declined
	Reason string `json:"reason"`
}

DeclineRequestPresentationArgs model

This is used when the request needs to be rejected.

type DeclineRequestPresentationResponse

type DeclineRequestPresentationResponse struct{}

DeclineRequestPresentationResponse model

Represents a DeclineRequestPresentation response message.

type NegotiateRequestPresentationArgs

type NegotiateRequestPresentationArgs struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// ProposePresentation is a response message to a request-presentation message when the Prover wants to
	// propose using a different presentation format.
	ProposePresentation *presentproof.ProposePresentation `json:"propose_presentation"`
}

NegotiateRequestPresentationArgs model

This is used by the Prover to counter a presentation request they received with a proposal.

type NegotiateRequestPresentationResponse

type NegotiateRequestPresentationResponse struct{}

NegotiateRequestPresentationResponse model

Represents a NegotiateRequestPresentation response message.

type NegotiateRequestPresentationV2Args added in v0.1.8

type NegotiateRequestPresentationV2Args struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// ProposePresentation is a response message to a request-presentation message when the Prover wants to
	// propose using a different presentation format.
	ProposePresentation *presentproof.ProposePresentationV2 `json:"propose_presentation"`
}

NegotiateRequestPresentationV2Args model

This is used by the Prover to counter a presentation request they received with a proposal.

type NegotiateRequestPresentationV3Args added in v0.1.7

type NegotiateRequestPresentationV3Args struct {
	// PIID Protocol instance ID
	PIID string `json:"piid"`
	// ProposePresentation is a response message to a request-presentation message when the Prover wants to
	// propose using a different presentation format.
	ProposePresentation *presentproof.ProposePresentationV3 `json:"propose_presentation"`
}

NegotiateRequestPresentationV3Args model

This is used by the Prover to counter a presentation request they received with a proposal.

type Provider added in v0.1.8

type Provider interface {
	Service(id string) (interface{}, error)
	ConnectionLookup() *connection.Lookup
}

Provider contains dependencies for the protocol and is typically created by using aries.Context().

type SendProposePresentationArgs

type SendProposePresentationArgs struct {
	// MyDID sender's did
	MyDID string `json:"my_did"`
	// TheirDID receiver's did
	TheirDID string `json:"their_did"`
	// ConnectionID ID of connection between sender and receiver.
	// Optional: if present, is used instead of MyDID + TheirDID.
	ConnectionID string `json:"connection_id"`
	// ProposePresentation is a message sent by the Prover to the verifier to initiate a proof
	// presentation process.
	ProposePresentation *presentproof.ProposePresentation `json:"propose_presentation"`
}

SendProposePresentationArgs model

This is used for sending a propose presentation.

type SendProposePresentationResponse

type SendProposePresentationResponse struct {
	// PIID Protocol instance ID. It can be used as a correlation ID
	PIID string `json:"piid"`
}

SendProposePresentationResponse model

Represents a SendProposePresentation response message.

type SendProposePresentationV2Args added in v0.1.8

type SendProposePresentationV2Args struct {
	// MyDID sender's did
	MyDID string `json:"my_did"`
	// TheirDID receiver's did
	TheirDID string `json:"their_did"`
	// ConnectionID ID of connection between sender and receiver.
	// Optional: if present, is used instead of MyDID + TheirDID.
	ConnectionID string `json:"connection_id"`
	// ProposePresentation is a message sent by the Prover to the verifier to initiate a proof
	// presentation process.
	ProposePresentation *presentproof.ProposePresentationV2 `json:"propose_presentation"`
}

SendProposePresentationV2Args model

This is used for sending a propose presentation.

type SendProposePresentationV3Args added in v0.1.7

type SendProposePresentationV3Args struct {
	// MyDID sender's did
	MyDID string `json:"my_did"`
	// TheirDID receiver's did
	TheirDID string `json:"their_did"`
	// ConnectionID ID of connection between sender and receiver.
	// Optional: if present, is used instead of MyDID + TheirDID.
	ConnectionID string `json:"connection_id"`
	// ProposePresentation is a message sent by the Prover to the verifier to initiate a proof
	// presentation process.
	ProposePresentation *presentproof.ProposePresentationV3 `json:"propose_presentation"`
}

SendProposePresentationV3Args model

This is used for sending a propose presentation.

type SendRequestPresentationArgs

type SendRequestPresentationArgs struct {
	// MyDID sender's did
	MyDID string `json:"my_did"`
	// TheirDID receiver's did
	TheirDID string `json:"their_did"`
	// ConnectionID ID of connection between sender and receiver.
	// Optional: if present, is used instead of MyDID + TheirDID.
	ConnectionID string `json:"connection_id"`
	// RequestPresentation describes values that need to be revealed and predicates that need to be fulfilled.
	RequestPresentation *presentproof.RequestPresentation `json:"request_presentation"`
}

SendRequestPresentationArgs model

This is used for sending a request presentation.

type SendRequestPresentationResponse

type SendRequestPresentationResponse struct {
	// PIID Protocol instance ID. It can be used as a correlation ID
	PIID string `json:"piid"`
}

SendRequestPresentationResponse model

Represents a SendRequestPresentation response message.

type SendRequestPresentationV2Args added in v0.1.8

type SendRequestPresentationV2Args struct {
	// MyDID sender's did
	MyDID string `json:"my_did"`
	// TheirDID receiver's did
	TheirDID string `json:"their_did"`
	// ConnectionID ID of connection between sender and receiver.
	// Optional: if present, is used instead of MyDID + TheirDID.
	ConnectionID string `json:"connection_id"`
	// RequestPresentation describes values that need to be revealed and predicates that need to be fulfilled.
	RequestPresentation *presentproof.RequestPresentationV2 `json:"request_presentation"`
}

SendRequestPresentationV2Args model

This is used for sending a request presentation.

type SendRequestPresentationV3Args added in v0.1.7

type SendRequestPresentationV3Args struct {
	// MyDID sender's did
	MyDID string `json:"my_did"`
	// TheirDID receiver's did
	TheirDID string `json:"their_did"`
	// ConnectionID ID of connection between sender and receiver.
	// Optional: if present, is used instead of MyDID + TheirDID.
	ConnectionID string `json:"connection_id"`
	// RequestPresentation describes values that need to be revealed and predicates that need to be fulfilled.
	RequestPresentation *presentproof.RequestPresentationV3 `json:"request_presentation"`
}

SendRequestPresentationV3Args model

This is used for sending a request presentation.

Jump to

Keyboard shortcuts

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