datagen

package
v0.0.0-...-99968bd Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MustGetInitialHeaderInHex

func MustGetInitialHeaderInHex() string

MustGetInitialHeaderInHex returns the initial BTC header encoded in json and hex-encoded form

func MustGetInitialHeaderInStr

func MustGetInitialHeaderInStr() string

Types

type ActiveBtcDelegation

type ActiveBtcDelegation struct {
	StakerAddr           string                      `json:"staker_addr"`
	BTCPkHex             string                      `json:"btc_pk_hex"`
	FpBtcPkList          []string                    `json:"fp_btc_pk_list"`
	StartHeight          uint32                      `json:"start_height"`
	EndHeight            uint32                      `json:"end_height"`
	TotalSat             uint64                      `json:"total_sat"`
	StakingTx            string                      `json:"staking_tx"`
	SlashingTx           string                      `json:"slashing_tx"`
	DelegatorSlashingSig string                      `json:"delegator_slashing_sig"`
	CovenantSigs         []CovenantAdaptorSignatures `json:"covenant_sigs"`
	StakingOutputIdx     uint32                      `json:"staking_output_idx"`
	UnbondingTime        uint32                      `json:"unbonding_time"`
	UndelegationInfo     BtcUndelegationInfo         `json:"undelegation_info"`
	ParamsVersion        uint32                      `json:"params_version"`
}

type BTCHeadersMsg

type BTCHeadersMsg struct {
	Headers     []BtcHeader `json:"headers"`
	FirstWork   *string     `json:"first_work,omitempty"`
	FirstHeight *uint32     `json:"first_height,omitempty"`
}

type BabylonExecuteMsg

type BabylonExecuteMsg struct {
	BtcHeaders BTCHeadersMsg `json:"btc_headers"`
}

type BtcHeader

type BtcHeader struct {
	Version       int32  `json:"version"`
	PrevBlockhash string `json:"prev_blockhash"`
	MerkleRoot    string `json:"merkle_root"`
	Time          uint32 `json:"time"`
	Bits          uint32 `json:"bits"`
	Nonce         uint32 `json:"nonce"`
}

type BtcHeaderInfo

type BtcHeaderInfo struct {
	Header BtcHeader `json:"header"`
	Work   []byte    `json:"total_work"`
	Height int64     `json:"height"`
}

BtcHeaderInfo represents the Bitcoin header information needed for contract instantiation

func MustGetInitialHeader

func MustGetInitialHeader() BtcHeaderInfo

MustGetInitialHeader returns the initial BTC header for the babylon contract instantiation

func (*BtcHeaderInfo) ToHeaderInfo

func (bhi *BtcHeaderInfo) ToHeaderInfo() (*btclctypes.BTCHeaderInfo, error)

type BtcStaking

type BtcStaking struct {
	NewFP       []NewFinalityProvider   `json:"new_fp"`
	ActiveDel   []ActiveBtcDelegation   `json:"active_del"`
	SlashedDel  []SlashedBtcDelegation  `json:"slashed_del"`
	UnbondedDel []UnbondedBtcDelegation `json:"unbonded_del"`
}

type BtcUndelegationInfo

type BtcUndelegationInfo struct {
	UnbondingTx           string                      `json:"unbonding_tx"`
	DelegatorUnbondingSig string                      `json:"delegator_unbonding_sig"`
	CovenantUnbondingSigs []SignatureInfo             `json:"covenant_unbonding_sig_list"`
	SlashingTx            string                      `json:"slashing_tx"`
	DelegatorSlashingSig  string                      `json:"delegator_slashing_sig"`
	CovenantSlashingSigs  []CovenantAdaptorSignatures `json:"covenant_slashing_sigs"`
}

type CovenantAdaptorSignatures

type CovenantAdaptorSignatures struct {
	CovPK       string   `json:"cov_pk"`
	AdaptorSigs []string `json:"adaptor_sigs"`
}

type ExecuteMessage

type ExecuteMessage struct {
	BtcStaking BtcStaking `json:"btc_staking"`
}

func GenExecMessage

func GenExecMessage() ExecuteMessage

type FinalityProviderDescription

type FinalityProviderDescription struct {
	Moniker         string `json:"moniker"`
	Identity        string `json:"identity"`
	Website         string `json:"website"`
	SecurityContact string `json:"security_contact"`
	Details         string `json:"details"`
}

type NewFinalityProvider

type NewFinalityProvider struct {
	Description *FinalityProviderDescription `json:"description,omitempty"`
	Commission  string                       `json:"commission"`
	Addr        string                       `json:"addr,omitempty"`
	BTCPKHex    string                       `json:"btc_pk_hex"`
	Pop         *ProofOfPossessionBtc        `json:"pop,omitempty"`
	ConsumerID  string                       `json:"consumer_id"`
}

type ProofOfPossessionBtc

type ProofOfPossessionBtc struct {
	BTCSigType int32  `json:"btc_sig_type"`
	BTCSig     string `json:"btc_sig"`
}

type SignatureInfo

type SignatureInfo struct {
	PK  string `json:"pk"`
	Sig string `json:"sig"`
}

type SlashedBtcDelegation

type SlashedBtcDelegation struct {
}

type UnbondedBtcDelegation

type UnbondedBtcDelegation struct {
}

Jump to

Keyboard shortcuts

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