signer

package
v0.0.2-dev Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const EvmSignatureType = SignatureType("evm")
View Source
const StarkSignatureType = SignatureType("stark")

Variables

This section is empty.

Functions

This section is empty.

Types

type EvmPrivateKey

type EvmPrivateKey string

type EvmPublisherKey

type EvmPublisherKey string

type EvmSignature

type EvmSignature struct {
	R string `json:"r"`
	S string `json:"s"`
	V string `json:"v"`
}

type EvmSigner

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

func NewEvmSigner

func NewEvmSigner(privateKeyStr EvmPrivateKey, logger zerolog.Logger) (*EvmSigner, error)

func (*EvmSigner) GetPublisherKey

func (s *EvmSigner) GetPublisherKey() PublisherKey

func (*EvmSigner) GetSignatureType

func (s *EvmSigner) GetSignatureType() SignatureType

func (*EvmSigner) SignPublisherPrice

func (s *EvmSigner) SignPublisherPrice(publishTimestamp int64, asset string, quantizedValue string) (timestampedSig *TimestampedSignature[*EvmSignature], encodedAssetId string, err error)

type EvmVerifier

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

func NewEvmVerifier

func NewEvmVerifier(logger zerolog.Logger) *EvmVerifier

func (*EvmVerifier) VerifyPublisherPrice

func (e *EvmVerifier) VerifyPublisherPrice(publishTimestamp int64, externalAssetId string, quantizedValue string, publisherKey PublisherKey, signature EvmSignature) error

type PublisherKey

type PublisherKey string

type Signature

type Signature interface {
	*StarkSignature | *EvmSignature
}

type SignatureType

type SignatureType string

type Signer

type Signer[T Signature] interface {
	SignPublisherPrice(publishTimestamp int64, asset string, quantizedValue string) (timestampedSig *TimestampedSignature[T], encodedAssetId string, err error)
	GetPublisherKey() PublisherKey
	GetSignatureType() SignatureType
}

type StarkPrivateKey

type StarkPrivateKey string

type StarkPublisherKey

type StarkPublisherKey string

type StarkSignature

type StarkSignature struct {
	R string `json:"r"`
	S string `json:"s"`
}

type StarkSigner

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

func NewStarkSigner

func NewStarkSigner(privateKeyStr StarkPrivateKey, publicKeyStr, oracleId string, logger zerolog.Logger) (*StarkSigner, error)

func (*StarkSigner) GetPublisherKey

func (s *StarkSigner) GetPublisherKey() PublisherKey

func (*StarkSigner) GetSignatureType

func (s *StarkSigner) GetSignatureType() SignatureType

func (*StarkSigner) SignPublisherPrice

func (s *StarkSigner) SignPublisherPrice(publishTimestamp int64, asset string, quantizedValue string) (timestampedSig *TimestampedSignature[*StarkSignature], encodedAssetId string, err error)

type StarkVerifier

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

func NewStarkVerifier

func NewStarkVerifier(logger zerolog.Logger) *StarkVerifier

func (*StarkVerifier) VerifyPublisherPrice

func (s *StarkVerifier) VerifyPublisherPrice(publishTimestamp int64, externalAssetId string, quantizedValue string, publisherKey PublisherKey, signature StarkSignature) error

type TimestampedSignature

type TimestampedSignature[T Signature] struct {
	Signature T      `json:"signature"`
	Timestamp int64  `json:"timestamp"`
	MsgHash   string `json:"msg_hash"`
}

type Verifier

type Verifier[T Signature] interface {
	VerifyPublisherPrice(publishTimestamp int64, externalAssetId string, quantizedValue string, publisherKey PublisherKey, signature T) error
}

Jump to

Keyboard shortcuts

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