github.com/MetalBlockchain/metalgo@v1.11.9/vms/platformvm/signer/signer.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package signer
     5  
     6  import (
     7  	"github.com/MetalBlockchain/metalgo/utils/crypto/bls"
     8  	"github.com/MetalBlockchain/metalgo/vms/components/verify"
     9  )
    10  
    11  type Signer interface {
    12  	verify.Verifiable
    13  
    14  	// Key returns the public BLS key if it exists.
    15  	// Note: [nil] will be returned if the key does not exist.
    16  	// Invariant: Only called after [Verify] returns [nil].
    17  	Key() *bls.PublicKey
    18  }