babylonstaking

package
v0.0.2-gowrapper-mobile Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_BabylonStaking_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type InputBuilder

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

func (*InputBuilder) Descriptor deprecated

func (*InputBuilder) Descriptor() ([]byte, []int)

Deprecated: Use InputBuilder.ProtoReflect.Descriptor instead.

func (*InputBuilder) ProtoMessage

func (*InputBuilder) ProtoMessage()

func (*InputBuilder) ProtoReflect

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

func (*InputBuilder) Reset

func (x *InputBuilder) Reset()

func (*InputBuilder) String

func (x *InputBuilder) String() string

type InputBuilder_StakingSlashingPath

type InputBuilder_StakingSlashingPath struct {
	Params *StakingInfo `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
	// Empty in most of the cases. Staker's signature can be calculated without the fp signature.
	FinalityProviderSignature *PublicKeySignature `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

Spend a Staking Output via slashing path. Slashing path is only used in [ExpressOfInterest](https://github.com/babylonlabs-io/babylon-proto-ts/blob/ef42d04959b326849fe8c9773ab23802573ad407/src/generated/babylon/btcstaking/v1/tx.ts#L61). In other words, generate an unsigned Slashing transaction, pre-sign the staker's signature only and share to Babylon PoS chain.

func (*InputBuilder_StakingSlashingPath) Descriptor deprecated

func (*InputBuilder_StakingSlashingPath) Descriptor() ([]byte, []int)

Deprecated: Use InputBuilder_StakingSlashingPath.ProtoReflect.Descriptor instead.

func (*InputBuilder_StakingSlashingPath) GetFinalityProviderSignature

func (x *InputBuilder_StakingSlashingPath) GetFinalityProviderSignature() *PublicKeySignature

func (*InputBuilder_StakingSlashingPath) GetParams

func (*InputBuilder_StakingSlashingPath) ProtoMessage

func (*InputBuilder_StakingSlashingPath) ProtoMessage()

func (*InputBuilder_StakingSlashingPath) ProtoReflect

func (*InputBuilder_StakingSlashingPath) Reset

func (*InputBuilder_StakingSlashingPath) String

type InputBuilder_StakingTimelockPath

type InputBuilder_StakingTimelockPath struct {
	Params *StakingInfo `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
	// contains filtered or unexported fields
}

Spend a Staking Output via timelock path (staking time expired). In other words, create a Withdraw transaction.

func (*InputBuilder_StakingTimelockPath) Descriptor deprecated

func (*InputBuilder_StakingTimelockPath) Descriptor() ([]byte, []int)

Deprecated: Use InputBuilder_StakingTimelockPath.ProtoReflect.Descriptor instead.

func (*InputBuilder_StakingTimelockPath) GetParams

func (*InputBuilder_StakingTimelockPath) ProtoMessage

func (*InputBuilder_StakingTimelockPath) ProtoMessage()

func (*InputBuilder_StakingTimelockPath) ProtoReflect

func (*InputBuilder_StakingTimelockPath) Reset

func (*InputBuilder_StakingTimelockPath) String

type InputBuilder_StakingUnbondingPath

type InputBuilder_StakingUnbondingPath struct {
	Params *StakingInfo `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
	// Signatures signed by covenant committees.
	// There can be less signatures than covenant public keys, but not less than `covenant_quorum`.
	CovenantCommitteeSignatures []*PublicKeySignature `` /* 144-byte string literal not displayed */
	// contains filtered or unexported fields
}

Spend a Staking Output via unbonding path. In other words, create an Unbonding transaction.

func (*InputBuilder_StakingUnbondingPath) Descriptor deprecated

func (*InputBuilder_StakingUnbondingPath) Descriptor() ([]byte, []int)

Deprecated: Use InputBuilder_StakingUnbondingPath.ProtoReflect.Descriptor instead.

func (*InputBuilder_StakingUnbondingPath) GetCovenantCommitteeSignatures

func (x *InputBuilder_StakingUnbondingPath) GetCovenantCommitteeSignatures() []*PublicKeySignature

func (*InputBuilder_StakingUnbondingPath) GetParams

func (*InputBuilder_StakingUnbondingPath) ProtoMessage

func (*InputBuilder_StakingUnbondingPath) ProtoMessage()

func (*InputBuilder_StakingUnbondingPath) ProtoReflect

func (*InputBuilder_StakingUnbondingPath) Reset

func (*InputBuilder_StakingUnbondingPath) String

type InputBuilder_UnbondingSlashingPath

type InputBuilder_UnbondingSlashingPath struct {
	Params *StakingInfo `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
	// Empty in most of the cases. Staker's signature can be calculated without the fp signature.
	FinalityProviderSignature *PublicKeySignature `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

Spend an Unbonding Output via slashing path. Slashing path is only used in [ExpressOfInterest](https://github.com/babylonlabs-io/babylon-proto-ts/blob/ef42d04959b326849fe8c9773ab23802573ad407/src/generated/babylon/btcstaking/v1/tx.ts#L61). In other words, generate an unsigned Slashing transaction, pre-sign the staker's signature only and share to Babylon PoS chain.

func (*InputBuilder_UnbondingSlashingPath) Descriptor deprecated

func (*InputBuilder_UnbondingSlashingPath) Descriptor() ([]byte, []int)

Deprecated: Use InputBuilder_UnbondingSlashingPath.ProtoReflect.Descriptor instead.

func (*InputBuilder_UnbondingSlashingPath) GetFinalityProviderSignature

func (x *InputBuilder_UnbondingSlashingPath) GetFinalityProviderSignature() *PublicKeySignature

func (*InputBuilder_UnbondingSlashingPath) GetParams

func (*InputBuilder_UnbondingSlashingPath) ProtoMessage

func (*InputBuilder_UnbondingSlashingPath) ProtoMessage()

func (*InputBuilder_UnbondingSlashingPath) ProtoReflect

func (*InputBuilder_UnbondingSlashingPath) Reset

func (*InputBuilder_UnbondingSlashingPath) String

type InputBuilder_UnbondingTimelockPath

type InputBuilder_UnbondingTimelockPath struct {
	Params *StakingInfo `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
	// contains filtered or unexported fields
}

Spend an Unbonding Output via timelock path (unbonding time expired). In other words, create a Withdraw transaction spending an Unbonding transaction.

func (*InputBuilder_UnbondingTimelockPath) Descriptor deprecated

func (*InputBuilder_UnbondingTimelockPath) Descriptor() ([]byte, []int)

Deprecated: Use InputBuilder_UnbondingTimelockPath.ProtoReflect.Descriptor instead.

func (*InputBuilder_UnbondingTimelockPath) GetParams

func (*InputBuilder_UnbondingTimelockPath) ProtoMessage

func (*InputBuilder_UnbondingTimelockPath) ProtoMessage()

func (*InputBuilder_UnbondingTimelockPath) ProtoReflect

func (*InputBuilder_UnbondingTimelockPath) Reset

func (*InputBuilder_UnbondingTimelockPath) String

type OutputBuilder

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

func (*OutputBuilder) Descriptor deprecated

func (*OutputBuilder) Descriptor() ([]byte, []int)

Deprecated: Use OutputBuilder.ProtoReflect.Descriptor instead.

func (*OutputBuilder) ProtoMessage

func (*OutputBuilder) ProtoMessage()

func (*OutputBuilder) ProtoReflect

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

func (*OutputBuilder) Reset

func (x *OutputBuilder) Reset()

func (*OutputBuilder) String

func (x *OutputBuilder) String() string

type OutputBuilder_OpReturn

type OutputBuilder_OpReturn struct {

	// Retrieved from global_parameters.Tag.
	Tag []byte `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
	// User's public key.
	StakerPublicKey []byte `protobuf:"bytes,2,opt,name=staker_public_key,json=stakerPublicKey,proto3" json:"staker_public_key,omitempty"`
	// Finality provider's public key chosen by the user.
	FinalityProviderPublicKey []byte `` /* 140-byte string literal not displayed */
	// global_parameters.min_staking_time <= staking_time <= global_parameters.max_staking_time.
	StakingTime uint32 `protobuf:"varint,4,opt,name=staking_time,json=stakingTime,proto3" json:"staking_time,omitempty"`
	// contains filtered or unexported fields
}

Creates an OP_RETURN output used to identify the staking transaction among other transactions in the Bitcoin ledger.

func (*OutputBuilder_OpReturn) Descriptor deprecated

func (*OutputBuilder_OpReturn) Descriptor() ([]byte, []int)

Deprecated: Use OutputBuilder_OpReturn.ProtoReflect.Descriptor instead.

func (*OutputBuilder_OpReturn) GetFinalityProviderPublicKey

func (x *OutputBuilder_OpReturn) GetFinalityProviderPublicKey() []byte

func (*OutputBuilder_OpReturn) GetStakerPublicKey

func (x *OutputBuilder_OpReturn) GetStakerPublicKey() []byte

func (*OutputBuilder_OpReturn) GetStakingTime

func (x *OutputBuilder_OpReturn) GetStakingTime() uint32

func (*OutputBuilder_OpReturn) GetTag

func (x *OutputBuilder_OpReturn) GetTag() []byte

func (*OutputBuilder_OpReturn) ProtoMessage

func (*OutputBuilder_OpReturn) ProtoMessage()

func (*OutputBuilder_OpReturn) ProtoReflect

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

func (*OutputBuilder_OpReturn) Reset

func (x *OutputBuilder_OpReturn) Reset()

func (*OutputBuilder_OpReturn) String

func (x *OutputBuilder_OpReturn) String() string

type OutputBuilder_StakingOutput

type OutputBuilder_StakingOutput struct {
	Params *StakingInfo `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
	// contains filtered or unexported fields
}

Create a Staking Output.

func (*OutputBuilder_StakingOutput) Descriptor deprecated

func (*OutputBuilder_StakingOutput) Descriptor() ([]byte, []int)

Deprecated: Use OutputBuilder_StakingOutput.ProtoReflect.Descriptor instead.

func (*OutputBuilder_StakingOutput) GetParams

func (x *OutputBuilder_StakingOutput) GetParams() *StakingInfo

func (*OutputBuilder_StakingOutput) ProtoMessage

func (*OutputBuilder_StakingOutput) ProtoMessage()

func (*OutputBuilder_StakingOutput) ProtoReflect

func (*OutputBuilder_StakingOutput) Reset

func (x *OutputBuilder_StakingOutput) Reset()

func (*OutputBuilder_StakingOutput) String

func (x *OutputBuilder_StakingOutput) String() string

type OutputBuilder_UnbondingOutput

type OutputBuilder_UnbondingOutput struct {
	Params *StakingInfo `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
	// contains filtered or unexported fields
}

Create an Unbonding Output.

func (*OutputBuilder_UnbondingOutput) Descriptor deprecated

func (*OutputBuilder_UnbondingOutput) Descriptor() ([]byte, []int)

Deprecated: Use OutputBuilder_UnbondingOutput.ProtoReflect.Descriptor instead.

func (*OutputBuilder_UnbondingOutput) GetParams

func (*OutputBuilder_UnbondingOutput) ProtoMessage

func (*OutputBuilder_UnbondingOutput) ProtoMessage()

func (*OutputBuilder_UnbondingOutput) ProtoReflect

func (*OutputBuilder_UnbondingOutput) Reset

func (x *OutputBuilder_UnbondingOutput) Reset()

func (*OutputBuilder_UnbondingOutput) String

type PublicKeySignature

type PublicKeySignature struct {

	// Public key bytes. Can be either compressed (33 bytes) or x-only (32 bytes).
	PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// Signature 64-length byte array.
	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	// contains filtered or unexported fields
}

Public key and corresponding signature.

func (*PublicKeySignature) Descriptor deprecated

func (*PublicKeySignature) Descriptor() ([]byte, []int)

Deprecated: Use PublicKeySignature.ProtoReflect.Descriptor instead.

func (*PublicKeySignature) GetPublicKey

func (x *PublicKeySignature) GetPublicKey() []byte

func (*PublicKeySignature) GetSignature

func (x *PublicKeySignature) GetSignature() []byte

func (*PublicKeySignature) ProtoMessage

func (*PublicKeySignature) ProtoMessage()

func (*PublicKeySignature) ProtoReflect

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

func (*PublicKeySignature) Reset

func (x *PublicKeySignature) Reset()

func (*PublicKeySignature) String

func (x *PublicKeySignature) String() string

type StakingInfo

type StakingInfo struct {

	// User's public key.
	StakerPublicKey []byte `protobuf:"bytes,1,opt,name=staker_public_key,json=stakerPublicKey,proto3" json:"staker_public_key,omitempty"`
	// Finality provider's public key chosen by the user.
	FinalityProviderPublicKey []byte `` /* 140-byte string literal not displayed */
	// Staking Output's lock time.
	// Equal to `global_parameters.staking_time` when creating a Staking transaction.
	// or `global_parameters.unbonding_time` when creating an Unbonding transaction.
	StakingTime uint32 `protobuf:"varint,3,opt,name=staking_time,json=stakingTime,proto3" json:"staking_time,omitempty"`
	// Retrieved from global_parameters.covenant_pks.
	// Babylon nodes that can approve Unbonding tx or Slash the staked position when acting bad.
	CovenantCommitteePublicKeys [][]byte `` /* 146-byte string literal not displayed */
	// Retrieved from global_parameters.covenant_quorum.
	// Specifies the quorum required by the covenant committee for unbonding transactions to be confirmed.
	CovenantQuorum uint32 `protobuf:"varint,5,opt,name=covenant_quorum,json=covenantQuorum,proto3" json:"covenant_quorum,omitempty"`
	// contains filtered or unexported fields
}

func (*StakingInfo) Descriptor deprecated

func (*StakingInfo) Descriptor() ([]byte, []int)

Deprecated: Use StakingInfo.ProtoReflect.Descriptor instead.

func (*StakingInfo) GetCovenantCommitteePublicKeys

func (x *StakingInfo) GetCovenantCommitteePublicKeys() [][]byte

func (*StakingInfo) GetCovenantQuorum

func (x *StakingInfo) GetCovenantQuorum() uint32

func (*StakingInfo) GetFinalityProviderPublicKey

func (x *StakingInfo) GetFinalityProviderPublicKey() []byte

func (*StakingInfo) GetStakerPublicKey

func (x *StakingInfo) GetStakerPublicKey() []byte

func (*StakingInfo) GetStakingTime

func (x *StakingInfo) GetStakingTime() uint32

func (*StakingInfo) ProtoMessage

func (*StakingInfo) ProtoMessage()

func (*StakingInfo) ProtoReflect

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

func (*StakingInfo) Reset

func (x *StakingInfo) Reset()

func (*StakingInfo) String

func (x *StakingInfo) String() string

Jump to

Keyboard shortcuts

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