github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/internal/pkg/identity/identity.go (about)

     1  /*
     2  Copyright hechain. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  // Package identity provides a set of interfaces for identity-related operations.
     8  
     9  package identity
    10  
    11  // Signer is an interface which wraps the Sign method.
    12  //
    13  // Sign signs message bytes and returns the signature or an error on failure.
    14  type Signer interface {
    15  	Sign(message []byte) ([]byte, error)
    16  }
    17  
    18  // Serializer is an interface which wraps the Serialize function.
    19  //
    20  // Serialize converts an identity to bytes.  It returns an error on failure.
    21  type Serializer interface {
    22  	Serialize() ([]byte, error)
    23  }
    24  
    25  //go:generate counterfeiter -o mocks/signer_serializer.go --fake-name SignerSerializer . SignerSerializer
    26  
    27  // SignerSerializer groups the Sign and Serialize methods.
    28  type SignerSerializer interface {
    29  	Signer
    30  	Serializer
    31  }