ceremonyclient/protobufs/token.pb.go
Cassandra Heart dbd95bd9e9
v2.1.0 (#439)
* v2.1.0 [omit consensus and adjacent] - this commit will be amended with the full release after the file copy is complete

* 2.1.0 main node rollup
2025-09-30 02:48:15 -05:00

2043 lines
74 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.30.0
// protoc v5.29.3
// source: token.proto
package protobufs
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Token behavior flags
type TokenIntrinsicBehavior int32
const (
TokenIntrinsicBehavior_TOKEN_BEHAVIOR_NONE TokenIntrinsicBehavior = 0
// Token can be minted, decrements total available supply, is no longer
// mintable once the total supply has been reached
TokenIntrinsicBehavior_TOKEN_BEHAVIOR_MINTABLE TokenIntrinsicBehavior = 1
// Token can be burned, decrements total supply
TokenIntrinsicBehavior_TOKEN_BEHAVIOR_BURNABLE TokenIntrinsicBehavior = 2
// Token has decimal units
TokenIntrinsicBehavior_TOKEN_BEHAVIOR_DIVISIBLE TokenIntrinsicBehavior = 4
// Token has pending transaction flows and must be accepted or rejected
TokenIntrinsicBehavior_TOKEN_BEHAVIOR_ACCEPTABLE TokenIntrinsicBehavior = 8
// Token's pending transaction flows can set expiration limits on the ability
// for the recipient to accept, after which only the refund address can accept
TokenIntrinsicBehavior_TOKEN_BEHAVIOR_EXPIRABLE TokenIntrinsicBehavior = 16
// Token can be used as a method of payment, for alternative-fee-basis shards
TokenIntrinsicBehavior_TOKEN_BEHAVIOR_TENDERABLE TokenIntrinsicBehavior = 32
)
// Enum value maps for TokenIntrinsicBehavior.
var (
TokenIntrinsicBehavior_name = map[int32]string{
0: "TOKEN_BEHAVIOR_NONE",
1: "TOKEN_BEHAVIOR_MINTABLE",
2: "TOKEN_BEHAVIOR_BURNABLE",
4: "TOKEN_BEHAVIOR_DIVISIBLE",
8: "TOKEN_BEHAVIOR_ACCEPTABLE",
16: "TOKEN_BEHAVIOR_EXPIRABLE",
32: "TOKEN_BEHAVIOR_TENDERABLE",
}
TokenIntrinsicBehavior_value = map[string]int32{
"TOKEN_BEHAVIOR_NONE": 0,
"TOKEN_BEHAVIOR_MINTABLE": 1,
"TOKEN_BEHAVIOR_BURNABLE": 2,
"TOKEN_BEHAVIOR_DIVISIBLE": 4,
"TOKEN_BEHAVIOR_ACCEPTABLE": 8,
"TOKEN_BEHAVIOR_EXPIRABLE": 16,
"TOKEN_BEHAVIOR_TENDERABLE": 32,
}
)
func (x TokenIntrinsicBehavior) Enum() *TokenIntrinsicBehavior {
p := new(TokenIntrinsicBehavior)
*p = x
return p
}
func (x TokenIntrinsicBehavior) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TokenIntrinsicBehavior) Descriptor() protoreflect.EnumDescriptor {
return file_token_proto_enumTypes[0].Descriptor()
}
func (TokenIntrinsicBehavior) Type() protoreflect.EnumType {
return &file_token_proto_enumTypes[0]
}
func (x TokenIntrinsicBehavior) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TokenIntrinsicBehavior.Descriptor instead.
func (TokenIntrinsicBehavior) EnumDescriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{0}
}
// Mint behavior types
type TokenMintBehavior int32
const (
// Token cannot be minted
TokenMintBehavior_NO_MINT_BEHAVIOR TokenMintBehavior = 0
// Token can only be minted with a proof, ProofBasisType determines the
// accepted format
TokenMintBehavior_MINT_WITH_PROOF TokenMintBehavior = 1
// Token can only be minted by a configuration-defined authority's signature
TokenMintBehavior_MINT_WITH_AUTHORITY TokenMintBehavior = 2
// Token can only be minted with a configuration-defined signature
TokenMintBehavior_MINT_WITH_SIGNATURE TokenMintBehavior = 3
// Token can only be minted in exchange for a payment
TokenMintBehavior_MINT_WITH_PAYMENT TokenMintBehavior = 4
)
// Enum value maps for TokenMintBehavior.
var (
TokenMintBehavior_name = map[int32]string{
0: "NO_MINT_BEHAVIOR",
1: "MINT_WITH_PROOF",
2: "MINT_WITH_AUTHORITY",
3: "MINT_WITH_SIGNATURE",
4: "MINT_WITH_PAYMENT",
}
TokenMintBehavior_value = map[string]int32{
"NO_MINT_BEHAVIOR": 0,
"MINT_WITH_PROOF": 1,
"MINT_WITH_AUTHORITY": 2,
"MINT_WITH_SIGNATURE": 3,
"MINT_WITH_PAYMENT": 4,
}
)
func (x TokenMintBehavior) Enum() *TokenMintBehavior {
p := new(TokenMintBehavior)
*p = x
return p
}
func (x TokenMintBehavior) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TokenMintBehavior) Descriptor() protoreflect.EnumDescriptor {
return file_token_proto_enumTypes[1].Descriptor()
}
func (TokenMintBehavior) Type() protoreflect.EnumType {
return &file_token_proto_enumTypes[1]
}
func (x TokenMintBehavior) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TokenMintBehavior.Descriptor instead.
func (TokenMintBehavior) EnumDescriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{1}
}
// Proof basis types
type ProofBasisType int32
const (
// Token does not accept any proof type for minting
ProofBasisType_NO_PROOF_BASIS ProofBasisType = 0
// Token accepts proof of meaningful work for minting, requires a proof of
// meaningful work entry for the minter's address in the token's domain
ProofBasisType_PROOF_OF_MEANINGFUL_WORK ProofBasisType = 1
// Token accepts a verkle multiproof as proof
ProofBasisType_VERKLE_MULTIPROOF_WITH_SIGNATURE ProofBasisType = 2
)
// Enum value maps for ProofBasisType.
var (
ProofBasisType_name = map[int32]string{
0: "NO_PROOF_BASIS",
1: "PROOF_OF_MEANINGFUL_WORK",
2: "VERKLE_MULTIPROOF_WITH_SIGNATURE",
}
ProofBasisType_value = map[string]int32{
"NO_PROOF_BASIS": 0,
"PROOF_OF_MEANINGFUL_WORK": 1,
"VERKLE_MULTIPROOF_WITH_SIGNATURE": 2,
}
)
func (x ProofBasisType) Enum() *ProofBasisType {
p := new(ProofBasisType)
*p = x
return p
}
func (x ProofBasisType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ProofBasisType) Descriptor() protoreflect.EnumDescriptor {
return file_token_proto_enumTypes[2].Descriptor()
}
func (ProofBasisType) Type() protoreflect.EnumType {
return &file_token_proto_enumTypes[2]
}
func (x ProofBasisType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ProofBasisType.Descriptor instead.
func (ProofBasisType) EnumDescriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{2}
}
// Fee basis types
type FeeBasisType int32
const (
// Token cannot be purchased
FeeBasisType_NO_FEE_BASIS FeeBasisType = 0
// Token has a per-unit fee
FeeBasisType_PER_UNIT FeeBasisType = 1
)
// Enum value maps for FeeBasisType.
var (
FeeBasisType_name = map[int32]string{
0: "NO_FEE_BASIS",
1: "PER_UNIT",
}
FeeBasisType_value = map[string]int32{
"NO_FEE_BASIS": 0,
"PER_UNIT": 1,
}
)
func (x FeeBasisType) Enum() *FeeBasisType {
p := new(FeeBasisType)
*p = x
return p
}
func (x FeeBasisType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (FeeBasisType) Descriptor() protoreflect.EnumDescriptor {
return file_token_proto_enumTypes[3].Descriptor()
}
func (FeeBasisType) Type() protoreflect.EnumType {
return &file_token_proto_enumTypes[3]
}
func (x FeeBasisType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use FeeBasisType.Descriptor instead.
func (FeeBasisType) EnumDescriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{3}
}
// Authority configuration
type Authority struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The key type
KeyType uint32 `protobuf:"varint,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"`
// The public key
PublicKey []byte `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
// Authority has the ability to burn any token, provided the token is
// configured to be burnable
CanBurn bool `protobuf:"varint,3,opt,name=can_burn,json=canBurn,proto3" json:"can_burn,omitempty"`
}
func (x *Authority) Reset() {
*x = Authority{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Authority) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Authority) ProtoMessage() {}
func (x *Authority) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Authority.ProtoReflect.Descriptor instead.
func (*Authority) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{0}
}
func (x *Authority) GetKeyType() uint32 {
if x != nil {
return x.KeyType
}
return 0
}
func (x *Authority) GetPublicKey() []byte {
if x != nil {
return x.PublicKey
}
return nil
}
func (x *Authority) GetCanBurn() bool {
if x != nil {
return x.CanBurn
}
return false
}
// Fee basis configuration
type FeeBasis struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type FeeBasisType `protobuf:"varint,1,opt,name=type,proto3,enum=quilibrium.node.token.pb.FeeBasisType" json:"type,omitempty"`
// Big endian encoded value representing the per-unit fee
Baseline []byte `protobuf:"bytes,2,opt,name=baseline,proto3" json:"baseline,omitempty"`
}
func (x *FeeBasis) Reset() {
*x = FeeBasis{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FeeBasis) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FeeBasis) ProtoMessage() {}
func (x *FeeBasis) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FeeBasis.ProtoReflect.Descriptor instead.
func (*FeeBasis) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{1}
}
func (x *FeeBasis) GetType() FeeBasisType {
if x != nil {
return x.Type
}
return FeeBasisType_NO_FEE_BASIS
}
func (x *FeeBasis) GetBaseline() []byte {
if x != nil {
return x.Baseline
}
return nil
}
// Token mint strategy
type TokenMintStrategy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MintBehavior TokenMintBehavior `protobuf:"varint,1,opt,name=mint_behavior,json=mintBehavior,proto3,enum=quilibrium.node.token.pb.TokenMintBehavior" json:"mint_behavior,omitempty"`
ProofBasis ProofBasisType `protobuf:"varint,2,opt,name=proof_basis,json=proofBasis,proto3,enum=quilibrium.node.token.pb.ProofBasisType" json:"proof_basis,omitempty"`
// If ProofBasis is VerkleMultiproofWithSignature
VerkleRoot []byte `protobuf:"bytes,3,opt,name=verkle_root,json=verkleRoot,proto3" json:"verkle_root,omitempty"`
// If MintWithAuthority or MintWithSignature
Authority *Authority `protobuf:"bytes,4,opt,name=authority,proto3" json:"authority,omitempty"`
// If MintWithPayment
PaymentAddress []byte `protobuf:"bytes,5,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
// If MintWithPayment
FeeBasis *FeeBasis `protobuf:"bytes,6,opt,name=fee_basis,json=feeBasis,proto3" json:"fee_basis,omitempty"`
}
func (x *TokenMintStrategy) Reset() {
*x = TokenMintStrategy{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TokenMintStrategy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TokenMintStrategy) ProtoMessage() {}
func (x *TokenMintStrategy) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TokenMintStrategy.ProtoReflect.Descriptor instead.
func (*TokenMintStrategy) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{2}
}
func (x *TokenMintStrategy) GetMintBehavior() TokenMintBehavior {
if x != nil {
return x.MintBehavior
}
return TokenMintBehavior_NO_MINT_BEHAVIOR
}
func (x *TokenMintStrategy) GetProofBasis() ProofBasisType {
if x != nil {
return x.ProofBasis
}
return ProofBasisType_NO_PROOF_BASIS
}
func (x *TokenMintStrategy) GetVerkleRoot() []byte {
if x != nil {
return x.VerkleRoot
}
return nil
}
func (x *TokenMintStrategy) GetAuthority() *Authority {
if x != nil {
return x.Authority
}
return nil
}
func (x *TokenMintStrategy) GetPaymentAddress() []byte {
if x != nil {
return x.PaymentAddress
}
return nil
}
func (x *TokenMintStrategy) GetFeeBasis() *FeeBasis {
if x != nil {
return x.FeeBasis
}
return nil
}
// Token configuration
type TokenConfiguration struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// TokenIntrinsicBehavior bit flags
Behavior uint32 `protobuf:"varint,1,opt,name=behavior,proto3" json:"behavior,omitempty"`
// If Mintable is set
MintStrategy *TokenMintStrategy `protobuf:"bytes,2,opt,name=mint_strategy,json=mintStrategy,proto3" json:"mint_strategy,omitempty"`
// Big.Int serialized, if Divisible is set
Units []byte `protobuf:"bytes,3,opt,name=units,proto3" json:"units,omitempty"`
// Big.Int serialized, if Mintable is not set
Supply []byte `protobuf:"bytes,4,opt,name=supply,proto3" json:"supply,omitempty"`
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
Symbol string `protobuf:"bytes,6,opt,name=symbol,proto3" json:"symbol,omitempty"`
// 64 byte address values
AdditionalReference [][]byte `protobuf:"bytes,7,rep,name=additional_reference,json=additionalReference,proto3" json:"additional_reference,omitempty"`
// 585 byte BLS48-581
OwnerPublicKey []byte `protobuf:"bytes,8,opt,name=owner_public_key,json=ownerPublicKey,proto3" json:"owner_public_key,omitempty"`
}
func (x *TokenConfiguration) Reset() {
*x = TokenConfiguration{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TokenConfiguration) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TokenConfiguration) ProtoMessage() {}
func (x *TokenConfiguration) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TokenConfiguration.ProtoReflect.Descriptor instead.
func (*TokenConfiguration) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{3}
}
func (x *TokenConfiguration) GetBehavior() uint32 {
if x != nil {
return x.Behavior
}
return 0
}
func (x *TokenConfiguration) GetMintStrategy() *TokenMintStrategy {
if x != nil {
return x.MintStrategy
}
return nil
}
func (x *TokenConfiguration) GetUnits() []byte {
if x != nil {
return x.Units
}
return nil
}
func (x *TokenConfiguration) GetSupply() []byte {
if x != nil {
return x.Supply
}
return nil
}
func (x *TokenConfiguration) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TokenConfiguration) GetSymbol() string {
if x != nil {
return x.Symbol
}
return ""
}
func (x *TokenConfiguration) GetAdditionalReference() [][]byte {
if x != nil {
return x.AdditionalReference
}
return nil
}
func (x *TokenConfiguration) GetOwnerPublicKey() []byte {
if x != nil {
return x.OwnerPublicKey
}
return nil
}
// TokenDeploy creates a new token instance
type TokenDeploy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The token configuration
Config *TokenConfiguration `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
// The raw RDF schema definition
RdfSchema []byte `protobuf:"bytes,2,opt,name=rdf_schema,json=rdfSchema,proto3" json:"rdf_schema,omitempty"`
}
func (x *TokenDeploy) Reset() {
*x = TokenDeploy{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TokenDeploy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TokenDeploy) ProtoMessage() {}
func (x *TokenDeploy) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TokenDeploy.ProtoReflect.Descriptor instead.
func (*TokenDeploy) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{4}
}
func (x *TokenDeploy) GetConfig() *TokenConfiguration {
if x != nil {
return x.Config
}
return nil
}
func (x *TokenDeploy) GetRdfSchema() []byte {
if x != nil {
return x.RdfSchema
}
return nil
}
// TokenUpdate updates an existing token instance
type TokenUpdate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The token configuration
Config *TokenConfiguration `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
// The raw RDF schema definition
RdfSchema []byte `protobuf:"bytes,2,opt,name=rdf_schema,json=rdfSchema,proto3" json:"rdf_schema,omitempty"`
// Signature from the owner key
PublicKeySignatureBls48581 *BLS48581AggregateSignature `protobuf:"bytes,3,opt,name=public_key_signature_bls48581,json=publicKeySignatureBls48581,proto3" json:"public_key_signature_bls48581,omitempty"`
}
func (x *TokenUpdate) Reset() {
*x = TokenUpdate{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TokenUpdate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TokenUpdate) ProtoMessage() {}
func (x *TokenUpdate) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TokenUpdate.ProtoReflect.Descriptor instead.
func (*TokenUpdate) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{5}
}
func (x *TokenUpdate) GetConfig() *TokenConfiguration {
if x != nil {
return x.Config
}
return nil
}
func (x *TokenUpdate) GetRdfSchema() []byte {
if x != nil {
return x.RdfSchema
}
return nil
}
func (x *TokenUpdate) GetPublicKeySignatureBls48581() *BLS48581AggregateSignature {
if x != nil {
return x.PublicKeySignatureBls48581
}
return nil
}
// Transaction input
type TransactionInput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Commitment []byte `protobuf:"bytes,1,opt,name=commitment,proto3" json:"commitment,omitempty"`
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
Proofs [][]byte `protobuf:"bytes,3,rep,name=proofs,proto3" json:"proofs,omitempty"`
}
func (x *TransactionInput) Reset() {
*x = TransactionInput{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionInput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionInput) ProtoMessage() {}
func (x *TransactionInput) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionInput.ProtoReflect.Descriptor instead.
func (*TransactionInput) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{6}
}
func (x *TransactionInput) GetCommitment() []byte {
if x != nil {
return x.Commitment
}
return nil
}
func (x *TransactionInput) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
func (x *TransactionInput) GetProofs() [][]byte {
if x != nil {
return x.Proofs
}
return nil
}
// Transaction output
type TransactionOutput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FrameNumber []byte `protobuf:"bytes,1,opt,name=frame_number,json=frameNumber,proto3" json:"frame_number,omitempty"`
Commitment []byte `protobuf:"bytes,2,opt,name=commitment,proto3" json:"commitment,omitempty"`
RecipientOutput *RecipientBundle `protobuf:"bytes,3,opt,name=recipient_output,json=recipientOutput,proto3" json:"recipient_output,omitempty"`
}
func (x *TransactionOutput) Reset() {
*x = TransactionOutput{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransactionOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransactionOutput) ProtoMessage() {}
func (x *TransactionOutput) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TransactionOutput.ProtoReflect.Descriptor instead.
func (*TransactionOutput) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{7}
}
func (x *TransactionOutput) GetFrameNumber() []byte {
if x != nil {
return x.FrameNumber
}
return nil
}
func (x *TransactionOutput) GetCommitment() []byte {
if x != nil {
return x.Commitment
}
return nil
}
func (x *TransactionOutput) GetRecipientOutput() *RecipientBundle {
if x != nil {
return x.RecipientOutput
}
return nil
}
// Recipient bundle
type RecipientBundle struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OneTimeKey []byte `protobuf:"bytes,1,opt,name=one_time_key,json=oneTimeKey,proto3" json:"one_time_key,omitempty"`
VerificationKey []byte `protobuf:"bytes,2,opt,name=verification_key,json=verificationKey,proto3" json:"verification_key,omitempty"`
CoinBalance []byte `protobuf:"bytes,3,opt,name=coin_balance,json=coinBalance,proto3" json:"coin_balance,omitempty"`
Mask []byte `protobuf:"bytes,4,opt,name=mask,proto3" json:"mask,omitempty"`
// if non-divisible
AdditionalReference []byte `protobuf:"bytes,5,opt,name=additional_reference,json=additionalReference,proto3" json:"additional_reference,omitempty"`
// if non-divisible
AdditionalReferenceKey []byte `protobuf:"bytes,6,opt,name=additional_reference_key,json=additionalReferenceKey,proto3" json:"additional_reference_key,omitempty"`
}
func (x *RecipientBundle) Reset() {
*x = RecipientBundle{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RecipientBundle) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RecipientBundle) ProtoMessage() {}
func (x *RecipientBundle) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RecipientBundle.ProtoReflect.Descriptor instead.
func (*RecipientBundle) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{8}
}
func (x *RecipientBundle) GetOneTimeKey() []byte {
if x != nil {
return x.OneTimeKey
}
return nil
}
func (x *RecipientBundle) GetVerificationKey() []byte {
if x != nil {
return x.VerificationKey
}
return nil
}
func (x *RecipientBundle) GetCoinBalance() []byte {
if x != nil {
return x.CoinBalance
}
return nil
}
func (x *RecipientBundle) GetMask() []byte {
if x != nil {
return x.Mask
}
return nil
}
func (x *RecipientBundle) GetAdditionalReference() []byte {
if x != nil {
return x.AdditionalReference
}
return nil
}
func (x *RecipientBundle) GetAdditionalReferenceKey() []byte {
if x != nil {
return x.AdditionalReferenceKey
}
return nil
}
// Transaction for token transfers
type Transaction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 32 bytes
Domain []byte `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
Inputs []*TransactionInput `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
Outputs []*TransactionOutput `protobuf:"bytes,3,rep,name=outputs,proto3" json:"outputs,omitempty"`
// Big.Int serialized
Fees [][]byte `protobuf:"bytes,4,rep,name=fees,proto3" json:"fees,omitempty"`
RangeProof []byte `protobuf:"bytes,5,opt,name=range_proof,json=rangeProof,proto3" json:"range_proof,omitempty"`
// Optional TraversalProof
TraversalProof *TraversalProof `protobuf:"bytes,6,opt,name=traversal_proof,json=traversalProof,proto3" json:"traversal_proof,omitempty"`
}
func (x *Transaction) Reset() {
*x = Transaction{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Transaction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transaction) ProtoMessage() {}
func (x *Transaction) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Transaction.ProtoReflect.Descriptor instead.
func (*Transaction) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{9}
}
func (x *Transaction) GetDomain() []byte {
if x != nil {
return x.Domain
}
return nil
}
func (x *Transaction) GetInputs() []*TransactionInput {
if x != nil {
return x.Inputs
}
return nil
}
func (x *Transaction) GetOutputs() []*TransactionOutput {
if x != nil {
return x.Outputs
}
return nil
}
func (x *Transaction) GetFees() [][]byte {
if x != nil {
return x.Fees
}
return nil
}
func (x *Transaction) GetRangeProof() []byte {
if x != nil {
return x.RangeProof
}
return nil
}
func (x *Transaction) GetTraversalProof() *TraversalProof {
if x != nil {
return x.TraversalProof
}
return nil
}
// Pending transaction input
type PendingTransactionInput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Commitment []byte `protobuf:"bytes,1,opt,name=commitment,proto3" json:"commitment,omitempty"`
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
Proofs [][]byte `protobuf:"bytes,3,rep,name=proofs,proto3" json:"proofs,omitempty"`
}
func (x *PendingTransactionInput) Reset() {
*x = PendingTransactionInput{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PendingTransactionInput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PendingTransactionInput) ProtoMessage() {}
func (x *PendingTransactionInput) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PendingTransactionInput.ProtoReflect.Descriptor instead.
func (*PendingTransactionInput) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{10}
}
func (x *PendingTransactionInput) GetCommitment() []byte {
if x != nil {
return x.Commitment
}
return nil
}
func (x *PendingTransactionInput) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
func (x *PendingTransactionInput) GetProofs() [][]byte {
if x != nil {
return x.Proofs
}
return nil
}
// Pending transaction output
type PendingTransactionOutput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FrameNumber []byte `protobuf:"bytes,1,opt,name=frame_number,json=frameNumber,proto3" json:"frame_number,omitempty"`
Commitment []byte `protobuf:"bytes,2,opt,name=commitment,proto3" json:"commitment,omitempty"`
To *RecipientBundle `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"`
Refund *RecipientBundle `protobuf:"bytes,4,opt,name=refund,proto3" json:"refund,omitempty"`
// If Expirable is set
Expiration uint64 `protobuf:"varint,5,opt,name=expiration,proto3" json:"expiration,omitempty"`
}
func (x *PendingTransactionOutput) Reset() {
*x = PendingTransactionOutput{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PendingTransactionOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PendingTransactionOutput) ProtoMessage() {}
func (x *PendingTransactionOutput) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PendingTransactionOutput.ProtoReflect.Descriptor instead.
func (*PendingTransactionOutput) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{11}
}
func (x *PendingTransactionOutput) GetFrameNumber() []byte {
if x != nil {
return x.FrameNumber
}
return nil
}
func (x *PendingTransactionOutput) GetCommitment() []byte {
if x != nil {
return x.Commitment
}
return nil
}
func (x *PendingTransactionOutput) GetTo() *RecipientBundle {
if x != nil {
return x.To
}
return nil
}
func (x *PendingTransactionOutput) GetRefund() *RecipientBundle {
if x != nil {
return x.Refund
}
return nil
}
func (x *PendingTransactionOutput) GetExpiration() uint64 {
if x != nil {
return x.Expiration
}
return 0
}
// Pending transaction for acceptable tokens
type PendingTransaction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 32 bytes
Domain []byte `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
Inputs []*PendingTransactionInput `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
Outputs []*PendingTransactionOutput `protobuf:"bytes,3,rep,name=outputs,proto3" json:"outputs,omitempty"`
// Big.Int serialized
Fees [][]byte `protobuf:"bytes,4,rep,name=fees,proto3" json:"fees,omitempty"`
RangeProof []byte `protobuf:"bytes,5,opt,name=range_proof,json=rangeProof,proto3" json:"range_proof,omitempty"`
// Optional TraversalProof
TraversalProof *TraversalProof `protobuf:"bytes,6,opt,name=traversal_proof,json=traversalProof,proto3" json:"traversal_proof,omitempty"`
}
func (x *PendingTransaction) Reset() {
*x = PendingTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PendingTransaction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PendingTransaction) ProtoMessage() {}
func (x *PendingTransaction) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PendingTransaction.ProtoReflect.Descriptor instead.
func (*PendingTransaction) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{12}
}
func (x *PendingTransaction) GetDomain() []byte {
if x != nil {
return x.Domain
}
return nil
}
func (x *PendingTransaction) GetInputs() []*PendingTransactionInput {
if x != nil {
return x.Inputs
}
return nil
}
func (x *PendingTransaction) GetOutputs() []*PendingTransactionOutput {
if x != nil {
return x.Outputs
}
return nil
}
func (x *PendingTransaction) GetFees() [][]byte {
if x != nil {
return x.Fees
}
return nil
}
func (x *PendingTransaction) GetRangeProof() []byte {
if x != nil {
return x.RangeProof
}
return nil
}
func (x *PendingTransaction) GetTraversalProof() *TraversalProof {
if x != nil {
return x.TraversalProof
}
return nil
}
// Mint transaction input
type MintTransactionInput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Big.Int serialized
Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
Commitment []byte `protobuf:"bytes,2,opt,name=commitment,proto3" json:"commitment,omitempty"`
Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"`
Proofs [][]byte `protobuf:"bytes,4,rep,name=proofs,proto3" json:"proofs,omitempty"`
AdditionalReference []byte `protobuf:"bytes,5,opt,name=additional_reference,json=additionalReference,proto3" json:"additional_reference,omitempty"`
AdditionalReferenceKey []byte `protobuf:"bytes,6,opt,name=additional_reference_key,json=additionalReferenceKey,proto3" json:"additional_reference_key,omitempty"`
}
func (x *MintTransactionInput) Reset() {
*x = MintTransactionInput{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MintTransactionInput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MintTransactionInput) ProtoMessage() {}
func (x *MintTransactionInput) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MintTransactionInput.ProtoReflect.Descriptor instead.
func (*MintTransactionInput) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{13}
}
func (x *MintTransactionInput) GetValue() []byte {
if x != nil {
return x.Value
}
return nil
}
func (x *MintTransactionInput) GetCommitment() []byte {
if x != nil {
return x.Commitment
}
return nil
}
func (x *MintTransactionInput) GetSignature() []byte {
if x != nil {
return x.Signature
}
return nil
}
func (x *MintTransactionInput) GetProofs() [][]byte {
if x != nil {
return x.Proofs
}
return nil
}
func (x *MintTransactionInput) GetAdditionalReference() []byte {
if x != nil {
return x.AdditionalReference
}
return nil
}
func (x *MintTransactionInput) GetAdditionalReferenceKey() []byte {
if x != nil {
return x.AdditionalReferenceKey
}
return nil
}
// Mint transaction output
type MintTransactionOutput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FrameNumber []byte `protobuf:"bytes,1,opt,name=frame_number,json=frameNumber,proto3" json:"frame_number,omitempty"`
Commitment []byte `protobuf:"bytes,2,opt,name=commitment,proto3" json:"commitment,omitempty"`
RecipientOutput *RecipientBundle `protobuf:"bytes,3,opt,name=recipient_output,json=recipientOutput,proto3" json:"recipient_output,omitempty"`
}
func (x *MintTransactionOutput) Reset() {
*x = MintTransactionOutput{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MintTransactionOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MintTransactionOutput) ProtoMessage() {}
func (x *MintTransactionOutput) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MintTransactionOutput.ProtoReflect.Descriptor instead.
func (*MintTransactionOutput) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{14}
}
func (x *MintTransactionOutput) GetFrameNumber() []byte {
if x != nil {
return x.FrameNumber
}
return nil
}
func (x *MintTransactionOutput) GetCommitment() []byte {
if x != nil {
return x.Commitment
}
return nil
}
func (x *MintTransactionOutput) GetRecipientOutput() *RecipientBundle {
if x != nil {
return x.RecipientOutput
}
return nil
}
// Mint transaction
type MintTransaction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 32 bytes
Domain []byte `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
Inputs []*MintTransactionInput `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"`
Outputs []*MintTransactionOutput `protobuf:"bytes,3,rep,name=outputs,proto3" json:"outputs,omitempty"`
// Big.Int serialized
Fees [][]byte `protobuf:"bytes,4,rep,name=fees,proto3" json:"fees,omitempty"`
RangeProof []byte `protobuf:"bytes,5,opt,name=range_proof,json=rangeProof,proto3" json:"range_proof,omitempty"`
}
func (x *MintTransaction) Reset() {
*x = MintTransaction{}
if protoimpl.UnsafeEnabled {
mi := &file_token_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MintTransaction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MintTransaction) ProtoMessage() {}
func (x *MintTransaction) ProtoReflect() protoreflect.Message {
mi := &file_token_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MintTransaction.ProtoReflect.Descriptor instead.
func (*MintTransaction) Descriptor() ([]byte, []int) {
return file_token_proto_rawDescGZIP(), []int{15}
}
func (x *MintTransaction) GetDomain() []byte {
if x != nil {
return x.Domain
}
return nil
}
func (x *MintTransaction) GetInputs() []*MintTransactionInput {
if x != nil {
return x.Inputs
}
return nil
}
func (x *MintTransaction) GetOutputs() []*MintTransactionOutput {
if x != nil {
return x.Outputs
}
return nil
}
func (x *MintTransaction) GetFees() [][]byte {
if x != nil {
return x.Fees
}
return nil
}
func (x *MintTransaction) GetRangeProof() []byte {
if x != nil {
return x.RangeProof
}
return nil
}
var File_token_proto protoreflect.FileDescriptor
var file_token_proto_rawDesc = []byte{
0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x71,
0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62, 0x1a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x6b, 0x65, 0x79, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72,
0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a,
0x08, 0x63, 0x61, 0x6e, 0x5f, 0x62, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x07, 0x63, 0x61, 0x6e, 0x42, 0x75, 0x72, 0x6e, 0x22, 0x62, 0x0a, 0x08, 0x46, 0x65, 0x65, 0x42,
0x61, 0x73, 0x69, 0x73, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x26, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e,
0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x65,
0x65, 0x42, 0x61, 0x73, 0x69, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xfe, 0x02, 0x0a,
0x11, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
0x67, 0x79, 0x12, 0x50, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76,
0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x71, 0x75, 0x69, 0x6c,
0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x65,
0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61,
0x76, 0x69, 0x6f, 0x72, 0x12, 0x49, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x62, 0x61,
0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x71, 0x75, 0x69, 0x6c,
0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x42, 0x61, 0x73, 0x69, 0x73, 0x54,
0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12,
0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74,
0x12, 0x41, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d,
0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x41,
0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x61,
0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x09,
0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64,
0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x65, 0x65, 0x42, 0x61,
0x73, 0x69, 0x73, 0x52, 0x08, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x69, 0x73, 0x22, 0xb9, 0x02,
0x0a, 0x12, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
0x12, 0x50, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62,
0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e,
0x70, 0x62, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x61,
0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x70, 0x70,
0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79,
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x14,
0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72,
0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12,
0x28, 0x0a, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f,
0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72,
0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x72, 0x0a, 0x0b, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69,
0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x2e, 0x70, 0x62, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d,
0x0a, 0x0a, 0x72, 0x64, 0x66, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x09, 0x72, 0x64, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xea, 0x01,
0x0a, 0x0b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a,
0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x64, 0x66, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d,
0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x64, 0x66, 0x53, 0x63, 0x68, 0x65,
0x6d, 0x61, 0x12, 0x76, 0x0a, 0x1d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79,
0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6c, 0x73, 0x34, 0x38,
0x35, 0x38, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x71, 0x75, 0x69, 0x6c,
0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6b, 0x65, 0x79, 0x73,
0x2e, 0x70, 0x62, 0x2e, 0x42, 0x4c, 0x53, 0x34, 0x38, 0x35, 0x38, 0x31, 0x41, 0x67, 0x67, 0x72,
0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x1a,
0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
0x72, 0x65, 0x42, 0x6c, 0x73, 0x34, 0x38, 0x35, 0x38, 0x31, 0x22, 0x68, 0x0a, 0x10, 0x54, 0x72,
0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1e,
0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c,
0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x72, 0x6f, 0x6f, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x72,
0x6f, 0x6f, 0x66, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72,
0x61, 0x6d, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a,
0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a,
0x10, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62,
0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x6e, 0x64,
0x6c, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74,
0x70, 0x75, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e,
0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6f,
0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x65, 0x72,
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x62, 0x61, 0x6c,
0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x69, 0x6e,
0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x31, 0x0a, 0x14, 0x61,
0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x38,
0x0a, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66,
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x16, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65,
0x72, 0x65, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xbe, 0x02, 0x0a, 0x0b, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61,
0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
0x12, 0x42, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x2a, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f,
0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e,
0x70, 0x75, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69,
0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62,
0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70,
0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66,
0x65, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12,
0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66,
0x12, 0x57, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x5f, 0x70, 0x72,
0x6f, 0x6f, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x71, 0x75, 0x69, 0x6c,
0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x76, 0x65,
0x72, 0x73, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x76, 0x65,
0x72, 0x73, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x6f, 0x0a, 0x17, 0x50, 0x65, 0x6e,
0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x6e, 0x70, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0c, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x18, 0x50,
0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65,
0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66,
0x72, 0x61, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f,
0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a,
0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x02, 0x74, 0x6f,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72,
0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70,
0x62, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c,
0x65, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69,
0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62,
0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
0x52, 0x06, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x78,
0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd3, 0x02, 0x0a, 0x12, 0x50, 0x65, 0x6e,
0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x49, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62,
0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e,
0x70, 0x62, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75,
0x74, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d,
0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x50,
0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73,
0x12, 0x12, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04,
0x66, 0x65, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72,
0x6f, 0x6f, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65,
0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x57, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73,
0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65,
0x2e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x62, 0x2e,
0x54, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x0e,
0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0xef,
0x01, 0x0a, 0x14, 0x4d, 0x69, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a,
0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a,
0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70,
0x72, 0x6f, 0x6f, 0x66, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x72, 0x6f,
0x6f, 0x66, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61,
0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66,
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6b,
0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79,
0x22, 0xb0, 0x01, 0x0a, 0x15, 0x4d, 0x69, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72,
0x61, 0x6d, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a,
0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a,
0x10, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62,
0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e,
0x70, 0x62, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x6e, 0x64,
0x6c, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74,
0x70, 0x75, 0x74, 0x22, 0xf1, 0x01, 0x0a, 0x0f, 0x4d, 0x69, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
0x46, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x2e, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64,
0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52,
0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75,
0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x71, 0x75, 0x69, 0x6c, 0x69,
0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x69, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75,
0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c,
0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f,
0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x61, 0x6e,
0x67, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x2a, 0xe5, 0x01, 0x0a, 0x16, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x49, 0x6e, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69,
0x6f, 0x72, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41,
0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x54,
0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4d, 0x49,
0x4e, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x4f, 0x4b, 0x45,
0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x42, 0x55, 0x52, 0x4e, 0x41,
0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x42,
0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x53, 0x49, 0x42, 0x4c,
0x45, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x42, 0x45, 0x48,
0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x41, 0x42, 0x4c, 0x45,
0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41,
0x56, 0x49, 0x4f, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x10,
0x12, 0x1d, 0x0a, 0x19, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49,
0x4f, 0x52, 0x5f, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x20, 0x2a,
0x87, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68,
0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x5f, 0x4d, 0x49, 0x4e, 0x54,
0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4d,
0x49, 0x4e, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x01,
0x12, 0x17, 0x0a, 0x13, 0x4d, 0x49, 0x4e, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x41, 0x55,
0x54, 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x49, 0x4e,
0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45,
0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x49, 0x4e, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f,
0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x2a, 0x68, 0x0a, 0x0e, 0x50, 0x72, 0x6f,
0x6f, 0x66, 0x42, 0x61, 0x73, 0x69, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x4e,
0x4f, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x53, 0x10, 0x00, 0x12,
0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x4f, 0x46, 0x5f, 0x4d, 0x45, 0x41, 0x4e,
0x49, 0x4e, 0x47, 0x46, 0x55, 0x4c, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x01, 0x12, 0x24, 0x0a,
0x20, 0x56, 0x45, 0x52, 0x4b, 0x4c, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x52, 0x4f,
0x4f, 0x46, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52,
0x45, 0x10, 0x02, 0x2a, 0x2e, 0x0a, 0x0c, 0x46, 0x65, 0x65, 0x42, 0x61, 0x73, 0x69, 0x73, 0x54,
0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x5f, 0x46, 0x45, 0x45, 0x5f, 0x42, 0x41,
0x53, 0x49, 0x53, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x49,
0x54, 0x10, 0x01, 0x42, 0x3a, 0x5a, 0x38, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x71, 0x75,
0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x71, 0x75, 0x69,
0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x2f, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x65, 0x70, 0x6f,
0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_token_proto_rawDescOnce sync.Once
file_token_proto_rawDescData = file_token_proto_rawDesc
)
func file_token_proto_rawDescGZIP() []byte {
file_token_proto_rawDescOnce.Do(func() {
file_token_proto_rawDescData = protoimpl.X.CompressGZIP(file_token_proto_rawDescData)
})
return file_token_proto_rawDescData
}
var file_token_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_token_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_token_proto_goTypes = []interface{}{
(TokenIntrinsicBehavior)(0), // 0: quilibrium.node.token.pb.TokenIntrinsicBehavior
(TokenMintBehavior)(0), // 1: quilibrium.node.token.pb.TokenMintBehavior
(ProofBasisType)(0), // 2: quilibrium.node.token.pb.ProofBasisType
(FeeBasisType)(0), // 3: quilibrium.node.token.pb.FeeBasisType
(*Authority)(nil), // 4: quilibrium.node.token.pb.Authority
(*FeeBasis)(nil), // 5: quilibrium.node.token.pb.FeeBasis
(*TokenMintStrategy)(nil), // 6: quilibrium.node.token.pb.TokenMintStrategy
(*TokenConfiguration)(nil), // 7: quilibrium.node.token.pb.TokenConfiguration
(*TokenDeploy)(nil), // 8: quilibrium.node.token.pb.TokenDeploy
(*TokenUpdate)(nil), // 9: quilibrium.node.token.pb.TokenUpdate
(*TransactionInput)(nil), // 10: quilibrium.node.token.pb.TransactionInput
(*TransactionOutput)(nil), // 11: quilibrium.node.token.pb.TransactionOutput
(*RecipientBundle)(nil), // 12: quilibrium.node.token.pb.RecipientBundle
(*Transaction)(nil), // 13: quilibrium.node.token.pb.Transaction
(*PendingTransactionInput)(nil), // 14: quilibrium.node.token.pb.PendingTransactionInput
(*PendingTransactionOutput)(nil), // 15: quilibrium.node.token.pb.PendingTransactionOutput
(*PendingTransaction)(nil), // 16: quilibrium.node.token.pb.PendingTransaction
(*MintTransactionInput)(nil), // 17: quilibrium.node.token.pb.MintTransactionInput
(*MintTransactionOutput)(nil), // 18: quilibrium.node.token.pb.MintTransactionOutput
(*MintTransaction)(nil), // 19: quilibrium.node.token.pb.MintTransaction
(*BLS48581AggregateSignature)(nil), // 20: quilibrium.node.keys.pb.BLS48581AggregateSignature
(*TraversalProof)(nil), // 21: quilibrium.node.application.pb.TraversalProof
}
var file_token_proto_depIdxs = []int32{
3, // 0: quilibrium.node.token.pb.FeeBasis.type:type_name -> quilibrium.node.token.pb.FeeBasisType
1, // 1: quilibrium.node.token.pb.TokenMintStrategy.mint_behavior:type_name -> quilibrium.node.token.pb.TokenMintBehavior
2, // 2: quilibrium.node.token.pb.TokenMintStrategy.proof_basis:type_name -> quilibrium.node.token.pb.ProofBasisType
4, // 3: quilibrium.node.token.pb.TokenMintStrategy.authority:type_name -> quilibrium.node.token.pb.Authority
5, // 4: quilibrium.node.token.pb.TokenMintStrategy.fee_basis:type_name -> quilibrium.node.token.pb.FeeBasis
6, // 5: quilibrium.node.token.pb.TokenConfiguration.mint_strategy:type_name -> quilibrium.node.token.pb.TokenMintStrategy
7, // 6: quilibrium.node.token.pb.TokenDeploy.config:type_name -> quilibrium.node.token.pb.TokenConfiguration
7, // 7: quilibrium.node.token.pb.TokenUpdate.config:type_name -> quilibrium.node.token.pb.TokenConfiguration
20, // 8: quilibrium.node.token.pb.TokenUpdate.public_key_signature_bls48581:type_name -> quilibrium.node.keys.pb.BLS48581AggregateSignature
12, // 9: quilibrium.node.token.pb.TransactionOutput.recipient_output:type_name -> quilibrium.node.token.pb.RecipientBundle
10, // 10: quilibrium.node.token.pb.Transaction.inputs:type_name -> quilibrium.node.token.pb.TransactionInput
11, // 11: quilibrium.node.token.pb.Transaction.outputs:type_name -> quilibrium.node.token.pb.TransactionOutput
21, // 12: quilibrium.node.token.pb.Transaction.traversal_proof:type_name -> quilibrium.node.application.pb.TraversalProof
12, // 13: quilibrium.node.token.pb.PendingTransactionOutput.to:type_name -> quilibrium.node.token.pb.RecipientBundle
12, // 14: quilibrium.node.token.pb.PendingTransactionOutput.refund:type_name -> quilibrium.node.token.pb.RecipientBundle
14, // 15: quilibrium.node.token.pb.PendingTransaction.inputs:type_name -> quilibrium.node.token.pb.PendingTransactionInput
15, // 16: quilibrium.node.token.pb.PendingTransaction.outputs:type_name -> quilibrium.node.token.pb.PendingTransactionOutput
21, // 17: quilibrium.node.token.pb.PendingTransaction.traversal_proof:type_name -> quilibrium.node.application.pb.TraversalProof
12, // 18: quilibrium.node.token.pb.MintTransactionOutput.recipient_output:type_name -> quilibrium.node.token.pb.RecipientBundle
17, // 19: quilibrium.node.token.pb.MintTransaction.inputs:type_name -> quilibrium.node.token.pb.MintTransactionInput
18, // 20: quilibrium.node.token.pb.MintTransaction.outputs:type_name -> quilibrium.node.token.pb.MintTransactionOutput
21, // [21:21] is the sub-list for method output_type
21, // [21:21] is the sub-list for method input_type
21, // [21:21] is the sub-list for extension type_name
21, // [21:21] is the sub-list for extension extendee
0, // [0:21] is the sub-list for field type_name
}
func init() { file_token_proto_init() }
func file_token_proto_init() {
if File_token_proto != nil {
return
}
file_application_proto_init()
file_keys_proto_init()
if !protoimpl.UnsafeEnabled {
file_token_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Authority); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FeeBasis); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TokenMintStrategy); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TokenConfiguration); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TokenDeploy); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TokenUpdate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionInput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransactionOutput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RecipientBundle); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Transaction); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PendingTransactionInput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PendingTransactionOutput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PendingTransaction); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MintTransactionInput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MintTransactionOutput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_token_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MintTransaction); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_token_proto_rawDesc,
NumEnums: 4,
NumMessages: 16,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_token_proto_goTypes,
DependencyIndexes: file_token_proto_depIdxs,
EnumInfos: file_token_proto_enumTypes,
MessageInfos: file_token_proto_msgTypes,
}.Build()
File_token_proto = out.File
file_token_proto_rawDesc = nil
file_token_proto_goTypes = nil
file_token_proto_depIdxs = nil
}