refs

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SignatureScheme_name = map[int32]string{
		0: "ECDSA_SHA512",
		1: "ECDSA_RFC6979_SHA256",
		2: "ECDSA_RFC6979_SHA256_WALLET_CONNECT",
	}
	SignatureScheme_value = map[string]int32{
		"ECDSA_SHA512":                        0,
		"ECDSA_RFC6979_SHA256":                1,
		"ECDSA_RFC6979_SHA256_WALLET_CONNECT": 2,
	}
)

Enum value maps for SignatureScheme.

View Source
var (
	ChecksumType_name = map[int32]string{
		0: "CHECKSUM_TYPE_UNSPECIFIED",
		1: "TZ",
		2: "SHA256",
	}
	ChecksumType_value = map[string]int32{
		"CHECKSUM_TYPE_UNSPECIFIED": 0,
		"TZ":                        1,
		"SHA256":                    2,
	}
)

Enum value maps for ChecksumType.

View Source
var File_api_refs_grpc_types_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Address

type Address struct {

	// Container identifier
	ContainerId *ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerID" json:"container_id,omitempty"`
	// Object identifier
	ObjectId *ObjectID `protobuf:"bytes,2,opt,name=object_id,json=objectID" json:"object_id,omitempty"`
	// contains filtered or unexported fields
}

Objects in FrostFS are addressed by their ContainerID and ObjectID.

String presentation of `Address` is a concatenation of string encoded `ContainerID` and `ObjectID` delimited by '/' character.

func (*Address) ClearContainerId

func (x *Address) ClearContainerId()

func (*Address) ClearObjectId

func (x *Address) ClearObjectId()

func (*Address) GetContainerId

func (x *Address) GetContainerId() *ContainerID

func (*Address) GetObjectId

func (x *Address) GetObjectId() *ObjectID

func (*Address) HasContainerId

func (x *Address) HasContainerId() bool

func (*Address) HasObjectId

func (x *Address) HasObjectId() bool

func (*Address) ProtoMessage

func (*Address) ProtoMessage()

func (*Address) ProtoReflect

func (x *Address) ProtoReflect() protoreflect.Message

func (*Address) Reset

func (x *Address) Reset()

func (*Address) SetContainerId

func (x *Address) SetContainerId(v *ContainerID)

func (*Address) SetObjectId

func (x *Address) SetObjectId(v *ObjectID)

func (*Address) String

func (x *Address) String() string

type Address_builder

type Address_builder struct {

	// Container identifier
	ContainerId *ContainerID
	// Object identifier
	ObjectId *ObjectID
	// contains filtered or unexported fields
}

func (Address_builder) Build

func (b0 Address_builder) Build() *Address

type Checksum

type Checksum struct {

	// Checksum algorithm type
	Type *ChecksumType `protobuf:"varint,1,opt,name=type,enum=frost.fs.refs.ChecksumType" json:"type,omitempty"`
	// Checksum itself
	Sum []byte `protobuf:"bytes,2,opt,name=sum" json:"sum,omitempty"`
	// contains filtered or unexported fields
}

Checksum message. Depending on checksum algorithm type, the string presentation may vary:

  • TZ \ Hex encoded string without `0x` prefix
  • SHA256 \ Hex encoded string without `0x` prefix

func (*Checksum) ClearSum

func (x *Checksum) ClearSum()

func (*Checksum) ClearType

func (x *Checksum) ClearType()

func (*Checksum) GetSum

func (x *Checksum) GetSum() []byte

func (*Checksum) GetType

func (x *Checksum) GetType() ChecksumType

func (*Checksum) HasSum

func (x *Checksum) HasSum() bool

func (*Checksum) HasType

func (x *Checksum) HasType() bool

func (*Checksum) ProtoMessage

func (*Checksum) ProtoMessage()

func (*Checksum) ProtoReflect

func (x *Checksum) ProtoReflect() protoreflect.Message

func (*Checksum) Reset

func (x *Checksum) Reset()

func (*Checksum) SetSum

func (x *Checksum) SetSum(v []byte)

func (*Checksum) SetType

func (x *Checksum) SetType(v ChecksumType)

func (*Checksum) String

func (x *Checksum) String() string

type ChecksumType

type ChecksumType int32

Checksum algorithm type.

const (
	// Unknown. Not used
	ChecksumType_CHECKSUM_TYPE_UNSPECIFIED ChecksumType = 0
	// Tillich-Zemor homomorphic hash function
	ChecksumType_TZ ChecksumType = 1
	// SHA-256
	ChecksumType_SHA256 ChecksumType = 2
)

func (ChecksumType) Descriptor

func (ChecksumType) Enum

func (x ChecksumType) Enum() *ChecksumType

func (ChecksumType) Number

func (ChecksumType) String

func (x ChecksumType) String() string

func (ChecksumType) Type

type Checksum_builder

type Checksum_builder struct {

	// Checksum algorithm type
	Type *ChecksumType
	// Checksum itself
	Sum []byte
	// contains filtered or unexported fields
}

func (Checksum_builder) Build

func (b0 Checksum_builder) Build() *Checksum

type ContainerID

type ContainerID struct {

	// Container identifier in a binary format.
	Value []byte `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"`
	// contains filtered or unexported fields
}

FrostFS container identifier. Container structures are immutable and content-addressed.

`ContainerID` is a 32 byte long [SHA256](https://csrc.nist.gov/publications/detail/fips/180/4/final) hash of stable-marshalled container message.

String presentation is a [base58](https://tools.ietf.org/html/draft-msporny-base58-02) encoded string.

JSON value will be data encoded as a string using standard base64 encoding with paddings. Either [standard](https://tools.ietf.org/html/rfc4648#section-4) or [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding with/without paddings are accepted.

func (*ContainerID) ClearValue

func (x *ContainerID) ClearValue()

func (*ContainerID) GetValue

func (x *ContainerID) GetValue() []byte

func (*ContainerID) HasValue

func (x *ContainerID) HasValue() bool

func (*ContainerID) ProtoMessage

func (*ContainerID) ProtoMessage()

func (*ContainerID) ProtoReflect

func (x *ContainerID) ProtoReflect() protoreflect.Message

func (*ContainerID) Reset

func (x *ContainerID) Reset()

func (*ContainerID) SetValue

func (x *ContainerID) SetValue(v []byte)

func (*ContainerID) String

func (x *ContainerID) String() string

type ContainerID_builder

type ContainerID_builder struct {

	// Container identifier in a binary format.
	Value []byte
	// contains filtered or unexported fields
}

func (ContainerID_builder) Build

func (b0 ContainerID_builder) Build() *ContainerID

type ObjectID

type ObjectID struct {

	// Object identifier in a binary format
	Value []byte `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"`
	// contains filtered or unexported fields
}

FrostFS Object unique identifier. Objects are immutable and content-addressed. It means `ObjectID` will change if the `header` or the `payload` changes.

`ObjectID` is a 32 byte long [SHA256](https://csrc.nist.gov/publications/detail/fips/180/4/final) hash of the object's `header` field, which, in it's turn, contains the hash of the object's payload.

String presentation is a [base58](https://tools.ietf.org/html/draft-msporny-base58-02) encoded string.

JSON value will be data encoded as a string using standard base64 encoding with paddings. Either [standard](https://tools.ietf.org/html/rfc4648#section-4) or [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding with/without paddings are accepted.

func (*ObjectID) ClearValue

func (x *ObjectID) ClearValue()

func (*ObjectID) GetValue

func (x *ObjectID) GetValue() []byte

func (*ObjectID) HasValue

func (x *ObjectID) HasValue() bool

func (*ObjectID) ProtoMessage

func (*ObjectID) ProtoMessage()

func (*ObjectID) ProtoReflect

func (x *ObjectID) ProtoReflect() protoreflect.Message

func (*ObjectID) Reset

func (x *ObjectID) Reset()

func (*ObjectID) SetValue

func (x *ObjectID) SetValue(v []byte)

func (*ObjectID) String

func (x *ObjectID) String() string

type ObjectID_builder

type ObjectID_builder struct {

	// Object identifier in a binary format
	Value []byte
	// contains filtered or unexported fields
}

func (ObjectID_builder) Build

func (b0 ObjectID_builder) Build() *ObjectID

type OwnerID

type OwnerID struct {

	// Identifier of the container owner in a binary format
	Value []byte `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"`
	// contains filtered or unexported fields
}

`OwnerID` is a derivative of a user's main public key. The transformation algorithm is the same as for Neo3 wallet addresses. Neo3 wallet address can be directly used as `OwnerID`.

`OwnerID` is a 25 bytes sequence starting with Neo version prefix byte followed by 20 bytes of ScrptHash and 4 bytes of checksum.

String presentation is a [Base58 Check](https://en.bitcoin.it/wiki/Base58Check_encoding) Encoded string.

JSON value will be data encoded as a string using standard base64 encoding with paddings. Either [standard](https://tools.ietf.org/html/rfc4648#section-4) or [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding with/without paddings are accepted.

func (*OwnerID) ClearValue

func (x *OwnerID) ClearValue()

func (*OwnerID) GetValue

func (x *OwnerID) GetValue() []byte

func (*OwnerID) HasValue

func (x *OwnerID) HasValue() bool

func (*OwnerID) ProtoMessage

func (*OwnerID) ProtoMessage()

func (*OwnerID) ProtoReflect

func (x *OwnerID) ProtoReflect() protoreflect.Message

func (*OwnerID) Reset

func (x *OwnerID) Reset()

func (*OwnerID) SetValue

func (x *OwnerID) SetValue(v []byte)

func (*OwnerID) String

func (x *OwnerID) String() string

type OwnerID_builder

type OwnerID_builder struct {

	// Identifier of the container owner in a binary format
	Value []byte
	// contains filtered or unexported fields
}

func (OwnerID_builder) Build

func (b0 OwnerID_builder) Build() *OwnerID

type Signature

type Signature struct {

	// Public key used for signing
	Key []byte `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	// Signature
	Sign []byte `protobuf:"bytes,2,opt,name=sign,json=signature" json:"sign,omitempty"`
	// Scheme contains digital signature scheme identifier
	Scheme *SignatureScheme `protobuf:"varint,3,opt,name=scheme,enum=frost.fs.refs.SignatureScheme" json:"scheme,omitempty"`
	// contains filtered or unexported fields
}

Signature of something in FrostFS.

func (*Signature) ClearKey

func (x *Signature) ClearKey()

func (*Signature) ClearScheme

func (x *Signature) ClearScheme()

func (*Signature) ClearSign

func (x *Signature) ClearSign()

func (*Signature) GetKey

func (x *Signature) GetKey() []byte

func (*Signature) GetScheme

func (x *Signature) GetScheme() SignatureScheme

func (*Signature) GetSign

func (x *Signature) GetSign() []byte

func (*Signature) HasKey

func (x *Signature) HasKey() bool

func (*Signature) HasScheme

func (x *Signature) HasScheme() bool

func (*Signature) HasSign

func (x *Signature) HasSign() bool

func (*Signature) ProtoMessage

func (*Signature) ProtoMessage()

func (*Signature) ProtoReflect

func (x *Signature) ProtoReflect() protoreflect.Message

func (*Signature) Reset

func (x *Signature) Reset()

func (*Signature) SetKey

func (x *Signature) SetKey(v []byte)

func (*Signature) SetScheme

func (x *Signature) SetScheme(v SignatureScheme)

func (*Signature) SetSign

func (x *Signature) SetSign(v []byte)

func (*Signature) String

func (x *Signature) String() string

type SignatureRFC6979

type SignatureRFC6979 struct {

	// Public key used for signing
	Key []byte `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	// Deterministic ECDSA with SHA-256 hashing
	Sign []byte `protobuf:"bytes,2,opt,name=sign,json=signature" json:"sign,omitempty"`
	// contains filtered or unexported fields
}

RFC 6979 signature.

func (*SignatureRFC6979) ClearKey

func (x *SignatureRFC6979) ClearKey()

func (*SignatureRFC6979) ClearSign

func (x *SignatureRFC6979) ClearSign()

func (*SignatureRFC6979) GetKey

func (x *SignatureRFC6979) GetKey() []byte

func (*SignatureRFC6979) GetSign

func (x *SignatureRFC6979) GetSign() []byte

func (*SignatureRFC6979) HasKey

func (x *SignatureRFC6979) HasKey() bool

func (*SignatureRFC6979) HasSign

func (x *SignatureRFC6979) HasSign() bool

func (*SignatureRFC6979) ProtoMessage

func (*SignatureRFC6979) ProtoMessage()

func (*SignatureRFC6979) ProtoReflect

func (x *SignatureRFC6979) ProtoReflect() protoreflect.Message

func (*SignatureRFC6979) Reset

func (x *SignatureRFC6979) Reset()

func (*SignatureRFC6979) SetKey

func (x *SignatureRFC6979) SetKey(v []byte)

func (*SignatureRFC6979) SetSign

func (x *SignatureRFC6979) SetSign(v []byte)

func (*SignatureRFC6979) String

func (x *SignatureRFC6979) String() string

type SignatureRFC6979_builder

type SignatureRFC6979_builder struct {

	// Public key used for signing
	Key []byte
	// Deterministic ECDSA with SHA-256 hashing
	Sign []byte
	// contains filtered or unexported fields
}

func (SignatureRFC6979_builder) Build

type SignatureScheme

type SignatureScheme int32

Signature scheme describes digital signing scheme used for (key, signature) pair.

const (
	// ECDSA with SHA-512 hashing (FIPS 186-3)
	SignatureScheme_ECDSA_SHA512 SignatureScheme = 0
	// Deterministic ECDSA with SHA-256 hashing (RFC 6979)
	SignatureScheme_ECDSA_RFC6979_SHA256 SignatureScheme = 1
	// Deterministic ECDSA with SHA-256 hashing using WalletConnect API.
	// Here the algorithm is the same, but the message format differs.
	SignatureScheme_ECDSA_RFC6979_SHA256_WALLET_CONNECT SignatureScheme = 2
)

func (SignatureScheme) Descriptor

func (SignatureScheme) Enum

func (x SignatureScheme) Enum() *SignatureScheme

func (SignatureScheme) Number

func (SignatureScheme) String

func (x SignatureScheme) String() string

func (SignatureScheme) Type

type Signature_builder

type Signature_builder struct {

	// Public key used for signing
	Key []byte
	// Signature
	Sign []byte
	// Scheme contains digital signature scheme identifier
	Scheme *SignatureScheme
	// contains filtered or unexported fields
}

func (Signature_builder) Build

func (b0 Signature_builder) Build() *Signature

type Version

type Version struct {

	// Major API version
	Major *uint32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"`
	// Minor API version
	Minor *uint32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"`
	// contains filtered or unexported fields
}

API version used by a node.

String presentation is a Semantic Versioning 2.0.0 compatible version string with 'v' prefix. i.e. `vX.Y`, where `X` is the major number, `Y` is the minor number.

func (*Version) ClearMajor

func (x *Version) ClearMajor()

func (*Version) ClearMinor

func (x *Version) ClearMinor()

func (*Version) GetMajor

func (x *Version) GetMajor() uint32

func (*Version) GetMinor

func (x *Version) GetMinor() uint32

func (*Version) HasMajor

func (x *Version) HasMajor() bool

func (*Version) HasMinor

func (x *Version) HasMinor() bool

func (*Version) ProtoMessage

func (*Version) ProtoMessage()

func (*Version) ProtoReflect

func (x *Version) ProtoReflect() protoreflect.Message

func (*Version) Reset

func (x *Version) Reset()

func (*Version) SetMajor

func (x *Version) SetMajor(v uint32)

func (*Version) SetMinor

func (x *Version) SetMinor(v uint32)

func (*Version) String

func (x *Version) String() string

type Version_builder

type Version_builder struct {

	// Major API version
	Major *uint32
	// Minor API version
	Minor *uint32
	// contains filtered or unexported fields
}

func (Version_builder) Build

func (b0 Version_builder) Build() *Version

Jump to

Keyboard shortcuts

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