bitcoinv2

package
v0.0.1-gowrapper-test Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	InputSelector_name = map[int32]string{
		0:  "SelectAscending",
		1:  "SelectInOrder",
		2:  "SelectDescending",
		10: "UseAll",
	}
	InputSelector_value = map[string]int32{
		"SelectAscending":  0,
		"SelectInOrder":    1,
		"SelectDescending": 2,
		"UseAll":           10,
	}
)

Enum value maps for InputSelector.

View Source
var (
	TransactionVersion_name = map[int32]string{
		0: "UseDefault",
		1: "V1",
		2: "V2",
	}
	TransactionVersion_value = map[string]int32{
		"UseDefault": 0,
		"V1":         1,
		"V2":         2,
	}
)

Enum value maps for TransactionVersion.

View Source
var (
	PreSigningOutput_SigningMethod_name = map[int32]string{
		0: "Legacy",
		1: "Segwit",
		2: "Taproot",
	}
	PreSigningOutput_SigningMethod_value = map[string]int32{
		"Legacy":  0,
		"Segwit":  1,
		"Taproot": 2,
	}
)

Enum value maps for PreSigningOutput_SigningMethod.

View Source
var File_BitcoinV2_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ChainInfo

type ChainInfo struct {

	// P2PKH prefix for this chain.
	P2PkhPrefix uint32 `protobuf:"varint,1,opt,name=p2pkh_prefix,json=p2pkhPrefix,proto3" json:"p2pkh_prefix,omitempty"`
	// P2SH prefix for this coin type.
	P2ShPrefix uint32 `protobuf:"varint,2,opt,name=p2sh_prefix,json=p2shPrefix,proto3" json:"p2sh_prefix,omitempty"`
	// HRP for this coin type if applicable.
	Hrp string `protobuf:"bytes,3,opt,name=hrp,proto3" json:"hrp,omitempty"`
	// contains filtered or unexported fields
}

func (*ChainInfo) Descriptor deprecated

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

Deprecated: Use ChainInfo.ProtoReflect.Descriptor instead.

func (*ChainInfo) GetHrp

func (x *ChainInfo) GetHrp() string

func (*ChainInfo) GetP2PkhPrefix

func (x *ChainInfo) GetP2PkhPrefix() uint32

func (*ChainInfo) GetP2ShPrefix

func (x *ChainInfo) GetP2ShPrefix() uint32

func (*ChainInfo) ProtoMessage

func (*ChainInfo) ProtoMessage()

func (*ChainInfo) ProtoReflect

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

func (*ChainInfo) Reset

func (x *ChainInfo) Reset()

func (*ChainInfo) String

func (x *ChainInfo) String() string

type Input

type Input struct {

	// Reference to the previous transaction's output.
	OutPoint *utxo.OutPoint `protobuf:"bytes,1,opt,name=out_point,json=outPoint,proto3" json:"out_point,omitempty"`
	// The amount of satoshis of this input.
	Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
	// The sighash type, normally `All`.
	// See `TWBitcoinSigHashType` enum.
	SighashType uint32 `protobuf:"varint,3,opt,name=sighash_type,json=sighashType,proto3" json:"sighash_type,omitempty"`
	// Optional sequence number, used for timelocks, replace-by-fee, etc.
	// Leave empty to use a default 4294967295 (0xFFFFFFFF) value.
	Sequence *Input_Sequence `protobuf:"bytes,4,opt,name=sequence,proto3" json:"sequence,omitempty"`
	// Script for claiming this UTXO.
	//
	// Types that are valid to be assigned to ClaimingScript:
	//
	//	*Input_ScriptBuilder
	//	*Input_ScriptData
	//	*Input_ReceiverAddress
	ClaimingScript isInput_ClaimingScript `protobuf_oneof:"claiming_script"`
	// contains filtered or unexported fields
}

func (*Input) Descriptor deprecated

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

Deprecated: Use Input.ProtoReflect.Descriptor instead.

func (*Input) GetClaimingScript

func (x *Input) GetClaimingScript() isInput_ClaimingScript

func (*Input) GetOutPoint

func (x *Input) GetOutPoint() *utxo.OutPoint

func (*Input) GetReceiverAddress

func (x *Input) GetReceiverAddress() string

func (*Input) GetScriptBuilder

func (x *Input) GetScriptBuilder() *Input_InputBuilder

func (*Input) GetScriptData

func (x *Input) GetScriptData() []byte

func (*Input) GetSequence

func (x *Input) GetSequence() *Input_Sequence

func (*Input) GetSighashType

func (x *Input) GetSighashType() uint32

func (*Input) GetValue

func (x *Input) GetValue() int64

func (*Input) ProtoMessage

func (*Input) ProtoMessage()

func (*Input) ProtoReflect

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

func (*Input) Reset

func (x *Input) Reset()

func (*Input) String

func (x *Input) String() string

type InputSelector

type InputSelector int32
const (
	// Automatically select enough inputs in an ascending order to cover the outputs of the transaction.
	InputSelector_SelectAscending InputSelector = 0
	// Automatically select enough inputs in the given order to cover the outputs of the transaction.
	InputSelector_SelectInOrder InputSelector = 1
	// Automatically select enough inputs in an descending order to cover the outputs of the transaction.
	InputSelector_SelectDescending InputSelector = 2
	// Use all the inputs provided in the given order.
	InputSelector_UseAll InputSelector = 10
)

func (InputSelector) Descriptor

func (InputSelector) Enum

func (x InputSelector) Enum() *InputSelector

func (InputSelector) EnumDescriptor deprecated

func (InputSelector) EnumDescriptor() ([]byte, []int)

Deprecated: Use InputSelector.Descriptor instead.

func (InputSelector) Number

func (InputSelector) String

func (x InputSelector) String() string

func (InputSelector) Type

type Input_InputBrc20Inscription

type Input_InputBrc20Inscription struct {

	// The recipient of the inscription, usually the sender.
	InscribeTo []byte `protobuf:"bytes,2,opt,name=inscribe_to,json=inscribeTo,proto3" json:"inscribe_to,omitempty"`
	// The ticker of the BRC20 inscription.
	Ticker string `protobuf:"bytes,3,opt,name=ticker,proto3" json:"ticker,omitempty"`
	// The BRC20 token transfer amount.
	TransferAmount string `protobuf:"bytes,4,opt,name=transfer_amount,json=transferAmount,proto3" json:"transfer_amount,omitempty"`
	// contains filtered or unexported fields
}

func (*Input_InputBrc20Inscription) Descriptor deprecated

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

Deprecated: Use Input_InputBrc20Inscription.ProtoReflect.Descriptor instead.

func (*Input_InputBrc20Inscription) GetInscribeTo

func (x *Input_InputBrc20Inscription) GetInscribeTo() []byte

func (*Input_InputBrc20Inscription) GetTicker

func (x *Input_InputBrc20Inscription) GetTicker() string

func (*Input_InputBrc20Inscription) GetTransferAmount

func (x *Input_InputBrc20Inscription) GetTransferAmount() string

func (*Input_InputBrc20Inscription) ProtoMessage

func (*Input_InputBrc20Inscription) ProtoMessage()

func (*Input_InputBrc20Inscription) ProtoReflect

func (*Input_InputBrc20Inscription) Reset

func (x *Input_InputBrc20Inscription) Reset()

func (*Input_InputBrc20Inscription) String

func (x *Input_InputBrc20Inscription) String() string

type Input_InputBuilder

type Input_InputBuilder struct {

	// Types that are valid to be assigned to Variant:
	//
	//	*Input_InputBuilder_P2Pk
	//	*Input_InputBuilder_P2Pkh
	//	*Input_InputBuilder_P2Wpkh
	//	*Input_InputBuilder_P2TrKeyPath
	//	*Input_InputBuilder_Brc20Inscribe
	//	*Input_InputBuilder_BabylonStakingTimelockPath
	//	*Input_InputBuilder_BabylonStakingUnbondingPath
	//	*Input_InputBuilder_BabylonStakingSlashingPath
	//	*Input_InputBuilder_BabylonUnbondingTimelockPath
	//	*Input_InputBuilder_BabylonUnbondingSlashingPath
	Variant isInput_InputBuilder_Variant `protobuf_oneof:"variant"`
	// contains filtered or unexported fields
}

func (*Input_InputBuilder) Descriptor deprecated

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

Deprecated: Use Input_InputBuilder.ProtoReflect.Descriptor instead.

func (*Input_InputBuilder) GetBabylonStakingSlashingPath

func (x *Input_InputBuilder) GetBabylonStakingSlashingPath() *babylonstaking.InputBuilder_StakingSlashingPath

func (*Input_InputBuilder) GetBabylonStakingTimelockPath

func (x *Input_InputBuilder) GetBabylonStakingTimelockPath() *babylonstaking.InputBuilder_StakingTimelockPath

func (*Input_InputBuilder) GetBabylonStakingUnbondingPath

func (x *Input_InputBuilder) GetBabylonStakingUnbondingPath() *babylonstaking.InputBuilder_StakingUnbondingPath

func (*Input_InputBuilder) GetBabylonUnbondingSlashingPath

func (x *Input_InputBuilder) GetBabylonUnbondingSlashingPath() *babylonstaking.InputBuilder_UnbondingSlashingPath

func (*Input_InputBuilder) GetBabylonUnbondingTimelockPath

func (x *Input_InputBuilder) GetBabylonUnbondingTimelockPath() *babylonstaking.InputBuilder_UnbondingTimelockPath

func (*Input_InputBuilder) GetBrc20Inscribe

func (x *Input_InputBuilder) GetBrc20Inscribe() *Input_InputBrc20Inscription

func (*Input_InputBuilder) GetP2Pk

func (x *Input_InputBuilder) GetP2Pk() []byte

func (*Input_InputBuilder) GetP2Pkh

func (x *Input_InputBuilder) GetP2Pkh() *PublicKeyOrHash

func (*Input_InputBuilder) GetP2TrKeyPath

func (x *Input_InputBuilder) GetP2TrKeyPath() []byte

func (*Input_InputBuilder) GetP2Wpkh

func (x *Input_InputBuilder) GetP2Wpkh() *PublicKeyOrHash

func (*Input_InputBuilder) GetVariant

func (x *Input_InputBuilder) GetVariant() isInput_InputBuilder_Variant

func (*Input_InputBuilder) ProtoMessage

func (*Input_InputBuilder) ProtoMessage()

func (*Input_InputBuilder) ProtoReflect

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

func (*Input_InputBuilder) Reset

func (x *Input_InputBuilder) Reset()

func (*Input_InputBuilder) String

func (x *Input_InputBuilder) String() string

type Input_InputBuilder_BabylonStakingSlashingPath

type Input_InputBuilder_BabylonStakingSlashingPath struct {
	// Spend a Staking Output via slashing path.
	// In other words, generate an unsigned slashing transaction, pre-sign the staker's signature only and share to Babylon PoS chain.
	BabylonStakingSlashingPath *babylonstaking.InputBuilder_StakingSlashingPath `protobuf:"bytes,17,opt,name=babylon_staking_slashing_path,json=babylonStakingSlashingPath,proto3,oneof"`
}

type Input_InputBuilder_BabylonStakingTimelockPath

type Input_InputBuilder_BabylonStakingTimelockPath struct {
	// Spend a Staking Output via timelock path (staking time expired).
	// In other words, create a Withdraw transaction.
	BabylonStakingTimelockPath *babylonstaking.InputBuilder_StakingTimelockPath `protobuf:"bytes,15,opt,name=babylon_staking_timelock_path,json=babylonStakingTimelockPath,proto3,oneof"`
}

type Input_InputBuilder_BabylonStakingUnbondingPath

type Input_InputBuilder_BabylonStakingUnbondingPath struct {
	// Spend a Staking Output via unbonding path.
	// In other words, create an Unbonding transaction.
	BabylonStakingUnbondingPath *babylonstaking.InputBuilder_StakingUnbondingPath `protobuf:"bytes,16,opt,name=babylon_staking_unbonding_path,json=babylonStakingUnbondingPath,proto3,oneof"`
}

type Input_InputBuilder_BabylonUnbondingSlashingPath

type Input_InputBuilder_BabylonUnbondingSlashingPath struct {
	// Spend an Unbonding Output via slashing path.
	// In other words, generate an unsigned Slashing transaction, pre-sign the staker's signature only and share to Babylon PoS chain.
	BabylonUnbondingSlashingPath *babylonstaking.InputBuilder_UnbondingSlashingPath `protobuf:"bytes,19,opt,name=babylon_unbonding_slashing_path,json=babylonUnbondingSlashingPath,proto3,oneof"`
}

type Input_InputBuilder_BabylonUnbondingTimelockPath

type Input_InputBuilder_BabylonUnbondingTimelockPath struct {
	// Spend an Unbonding Output via timelock path (unbonding time expired).
	// In other words, create a Withdraw transaction spending an Unbonding transaction.
	BabylonUnbondingTimelockPath *babylonstaking.InputBuilder_UnbondingTimelockPath `protobuf:"bytes,18,opt,name=babylon_unbonding_timelock_path,json=babylonUnbondingTimelockPath,proto3,oneof"`
}

type Input_InputBuilder_Brc20Inscribe

type Input_InputBuilder_Brc20Inscribe struct {
	// Create a BRC20 inscription.
	Brc20Inscribe *Input_InputBrc20Inscription `protobuf:"bytes,9,opt,name=brc20_inscribe,json=brc20Inscribe,proto3,oneof"`
}

type Input_InputBuilder_P2Pk

type Input_InputBuilder_P2Pk struct {
	// Pay-to-Public-Key, specify the public key.
	P2Pk []byte `protobuf:"bytes,2,opt,name=p2pk,proto3,oneof"`
}

type Input_InputBuilder_P2Pkh

type Input_InputBuilder_P2Pkh struct {
	// Pay-to-Public-Key-Hash, specify the public key.
	P2Pkh *PublicKeyOrHash `protobuf:"bytes,3,opt,name=p2pkh,proto3,oneof"`
}

type Input_InputBuilder_P2TrKeyPath

type Input_InputBuilder_P2TrKeyPath struct {
	// Pay-to-Taproot-key-path (balance transfers), specify the public key.
	P2TrKeyPath []byte `protobuf:"bytes,7,opt,name=p2tr_key_path,json=p2trKeyPath,proto3,oneof"`
}

type Input_InputBuilder_P2Wpkh

type Input_InputBuilder_P2Wpkh struct {
	// Pay-to-Public-Key-Hash, specify the public key.
	P2Wpkh *PublicKeyOrHash `protobuf:"bytes,5,opt,name=p2wpkh,proto3,oneof"`
}

type Input_InputTaprootScriptPath

type Input_InputTaprootScriptPath struct {

	// The payload of the Taproot transaction.
	Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	// The control block of the Taproot transaction required for claiming.
	ControlBlock []byte `protobuf:"bytes,3,opt,name=control_block,json=controlBlock,proto3" json:"control_block,omitempty"`
	// contains filtered or unexported fields
}

func (*Input_InputTaprootScriptPath) Descriptor deprecated

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

Deprecated: Use Input_InputTaprootScriptPath.ProtoReflect.Descriptor instead.

func (*Input_InputTaprootScriptPath) GetControlBlock

func (x *Input_InputTaprootScriptPath) GetControlBlock() []byte

func (*Input_InputTaprootScriptPath) GetPayload

func (x *Input_InputTaprootScriptPath) GetPayload() []byte

func (*Input_InputTaprootScriptPath) ProtoMessage

func (*Input_InputTaprootScriptPath) ProtoMessage()

func (*Input_InputTaprootScriptPath) ProtoReflect

func (*Input_InputTaprootScriptPath) Reset

func (x *Input_InputTaprootScriptPath) Reset()

func (*Input_InputTaprootScriptPath) String

type Input_ReceiverAddress

type Input_ReceiverAddress struct {
	// Derive a spending script pubkey from a receiver address.
	// E.g "bc1" segwit address will be P2WPKH claiming script.
	// TODO consider deprecating this because we can't determine if the script pubkey is P2PK or P2PKH actually.
	ReceiverAddress string `protobuf:"bytes,7,opt,name=receiver_address,json=receiverAddress,proto3,oneof"`
}

type Input_ScriptBuilder

type Input_ScriptBuilder struct {
	// Construct claiming script with a builder pattern.
	ScriptBuilder *Input_InputBuilder `protobuf:"bytes,5,opt,name=script_builder,json=scriptBuilder,proto3,oneof"`
}

type Input_ScriptData

type Input_ScriptData struct {
	// Spending script pubkey data.
	// Use this variant if the UTXO claiming script is known already, otherwise use `InputBuilder`.
	// Please note that the signing method (eg "legacy" or "segwit") will be determined by parsing the script data as:
	// - P2PK, P2PKH - legacy signing method;
	// - P2WPKH - segwit signing method.
	ScriptData []byte `protobuf:"bytes,6,opt,name=script_data,json=scriptData,proto3,oneof"`
}

type Input_Sequence

type Input_Sequence struct {
	Sequence uint32 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"`
	// contains filtered or unexported fields
}

Optional sequence number, used for timelocks, replace-by-fee, etc.

func (*Input_Sequence) Descriptor deprecated

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

Deprecated: Use Input_Sequence.ProtoReflect.Descriptor instead.

func (*Input_Sequence) GetSequence

func (x *Input_Sequence) GetSequence() uint32

func (*Input_Sequence) ProtoMessage

func (*Input_Sequence) ProtoMessage()

func (*Input_Sequence) ProtoReflect

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

func (*Input_Sequence) Reset

func (x *Input_Sequence) Reset()

func (*Input_Sequence) String

func (x *Input_Sequence) String() string

type Output

type Output struct {

	// The amount of satoshis to send.
	Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	// Types that are valid to be assigned to ToRecipient:
	//
	//	*Output_Builder
	//	*Output_CustomScriptPubkey
	//	*Output_ToAddress
	ToRecipient isOutput_ToRecipient `protobuf_oneof:"to_recipient"`
	// contains filtered or unexported fields
}

func (*Output) Descriptor deprecated

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

Deprecated: Use Output.ProtoReflect.Descriptor instead.

func (*Output) GetBuilder

func (x *Output) GetBuilder() *Output_OutputBuilder

func (*Output) GetCustomScriptPubkey

func (x *Output) GetCustomScriptPubkey() []byte

func (*Output) GetToAddress

func (x *Output) GetToAddress() string

func (*Output) GetToRecipient

func (x *Output) GetToRecipient() isOutput_ToRecipient

func (*Output) GetValue

func (x *Output) GetValue() int64

func (*Output) ProtoMessage

func (*Output) ProtoMessage()

func (*Output) ProtoReflect

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

func (*Output) Reset

func (x *Output) Reset()

func (*Output) String

func (x *Output) String() string

type Output_Builder

type Output_Builder struct {
	// Construct output with builder pattern.
	Builder *Output_OutputBuilder `protobuf:"bytes,2,opt,name=builder,proto3,oneof"`
}

type Output_CustomScriptPubkey

type Output_CustomScriptPubkey struct {
	// Construct output by providing the scriptPubkey directly.
	CustomScriptPubkey []byte `protobuf:"bytes,3,opt,name=custom_script_pubkey,json=customScriptPubkey,proto3,oneof"`
}

type Output_OutputBrc20Inscription

type Output_OutputBrc20Inscription struct {

	// The recipient of the inscription, usually the sender.
	InscribeTo []byte `protobuf:"bytes,1,opt,name=inscribe_to,json=inscribeTo,proto3" json:"inscribe_to,omitempty"`
	// The ticker of the BRC20 inscription.
	Ticker string `protobuf:"bytes,2,opt,name=ticker,proto3" json:"ticker,omitempty"`
	// The BRC20 token transfer amount.
	TransferAmount string `protobuf:"bytes,3,opt,name=transfer_amount,json=transferAmount,proto3" json:"transfer_amount,omitempty"`
	// contains filtered or unexported fields
}

func (*Output_OutputBrc20Inscription) Descriptor deprecated

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

Deprecated: Use Output_OutputBrc20Inscription.ProtoReflect.Descriptor instead.

func (*Output_OutputBrc20Inscription) GetInscribeTo

func (x *Output_OutputBrc20Inscription) GetInscribeTo() []byte

func (*Output_OutputBrc20Inscription) GetTicker

func (x *Output_OutputBrc20Inscription) GetTicker() string

func (*Output_OutputBrc20Inscription) GetTransferAmount

func (x *Output_OutputBrc20Inscription) GetTransferAmount() string

func (*Output_OutputBrc20Inscription) ProtoMessage

func (*Output_OutputBrc20Inscription) ProtoMessage()

func (*Output_OutputBrc20Inscription) ProtoReflect

func (*Output_OutputBrc20Inscription) Reset

func (x *Output_OutputBrc20Inscription) Reset()

func (*Output_OutputBrc20Inscription) String

type Output_OutputBuilder

type Output_OutputBuilder struct {

	// Types that are valid to be assigned to Variant:
	//
	//	*Output_OutputBuilder_P2Sh
	//	*Output_OutputBuilder_P2Pk
	//	*Output_OutputBuilder_P2Pkh
	//	*Output_OutputBuilder_P2Wsh
	//	*Output_OutputBuilder_P2Wpkh
	//	*Output_OutputBuilder_P2TrKeyPath
	//	*Output_OutputBuilder_P2TrScriptPath
	//	*Output_OutputBuilder_P2TrDangerousAssumeTweaked
	//	*Output_OutputBuilder_Brc20Inscribe
	//	*Output_OutputBuilder_OpReturn
	//	*Output_OutputBuilder_BabylonStaking
	//	*Output_OutputBuilder_BabylonUnbonding
	//	*Output_OutputBuilder_BabylonStakingOpReturn
	Variant isOutput_OutputBuilder_Variant `protobuf_oneof:"variant"`
	// contains filtered or unexported fields
}

func (*Output_OutputBuilder) Descriptor deprecated

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

Deprecated: Use Output_OutputBuilder.ProtoReflect.Descriptor instead.

func (*Output_OutputBuilder) GetBabylonStaking

func (*Output_OutputBuilder) GetBabylonStakingOpReturn

func (x *Output_OutputBuilder) GetBabylonStakingOpReturn() *babylonstaking.OutputBuilder_OpReturn

func (*Output_OutputBuilder) GetBabylonUnbonding

func (*Output_OutputBuilder) GetBrc20Inscribe

func (x *Output_OutputBuilder) GetBrc20Inscribe() *Output_OutputBrc20Inscription

func (*Output_OutputBuilder) GetOpReturn

func (x *Output_OutputBuilder) GetOpReturn() []byte

func (*Output_OutputBuilder) GetP2Pk

func (x *Output_OutputBuilder) GetP2Pk() []byte

func (*Output_OutputBuilder) GetP2Pkh

func (x *Output_OutputBuilder) GetP2Pkh() *PublicKeyOrHash

func (*Output_OutputBuilder) GetP2Sh

func (*Output_OutputBuilder) GetP2TrDangerousAssumeTweaked

func (x *Output_OutputBuilder) GetP2TrDangerousAssumeTweaked() []byte

func (*Output_OutputBuilder) GetP2TrKeyPath

func (x *Output_OutputBuilder) GetP2TrKeyPath() []byte

func (*Output_OutputBuilder) GetP2TrScriptPath

func (x *Output_OutputBuilder) GetP2TrScriptPath() *Output_OutputTaprootScriptPath

func (*Output_OutputBuilder) GetP2Wpkh

func (x *Output_OutputBuilder) GetP2Wpkh() *PublicKeyOrHash

func (*Output_OutputBuilder) GetP2Wsh

func (*Output_OutputBuilder) GetVariant

func (x *Output_OutputBuilder) GetVariant() isOutput_OutputBuilder_Variant

func (*Output_OutputBuilder) ProtoMessage

func (*Output_OutputBuilder) ProtoMessage()

func (*Output_OutputBuilder) ProtoReflect

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

func (*Output_OutputBuilder) Reset

func (x *Output_OutputBuilder) Reset()

func (*Output_OutputBuilder) String

func (x *Output_OutputBuilder) String() string

type Output_OutputBuilder_BabylonStaking

type Output_OutputBuilder_BabylonStaking struct {
	// Create a Babylon `Staking` output.
	BabylonStaking *babylonstaking.OutputBuilder_StakingOutput `protobuf:"bytes,15,opt,name=babylon_staking,json=babylonStaking,proto3,oneof"`
}

type Output_OutputBuilder_BabylonStakingOpReturn

type Output_OutputBuilder_BabylonStakingOpReturn struct {
	// Create a Babylon `Staking` OP_RETURN output.
	BabylonStakingOpReturn *babylonstaking.OutputBuilder_OpReturn `protobuf:"bytes,17,opt,name=babylon_staking_op_return,json=babylonStakingOpReturn,proto3,oneof"`
}

type Output_OutputBuilder_BabylonUnbonding

type Output_OutputBuilder_BabylonUnbonding struct {
	// Create a Babylon `Unbonding` output.
	BabylonUnbonding *babylonstaking.OutputBuilder_UnbondingOutput `protobuf:"bytes,16,opt,name=babylon_unbonding,json=babylonUnbonding,proto3,oneof"`
}

type Output_OutputBuilder_Brc20Inscribe

type Output_OutputBuilder_Brc20Inscribe struct {
	Brc20Inscribe *Output_OutputBrc20Inscription `protobuf:"bytes,9,opt,name=brc20_inscribe,json=brc20Inscribe,proto3,oneof"`
}

type Output_OutputBuilder_OpReturn

type Output_OutputBuilder_OpReturn struct {
	// OP_RETURN output. In most cases, with a zero-amount.
	OpReturn []byte `protobuf:"bytes,12,opt,name=op_return,json=opReturn,proto3,oneof"`
}

type Output_OutputBuilder_P2Pk

type Output_OutputBuilder_P2Pk struct {
	// Pay-to-Public-Key, specify the public key.
	P2Pk []byte `protobuf:"bytes,2,opt,name=p2pk,proto3,oneof"`
}

type Output_OutputBuilder_P2Pkh

type Output_OutputBuilder_P2Pkh struct {
	// Pay-to-Public-Key-Hash, specify the public key or its hash.
	P2Pkh *PublicKeyOrHash `protobuf:"bytes,3,opt,name=p2pkh,proto3,oneof"`
}

type Output_OutputBuilder_P2Sh

type Output_OutputBuilder_P2Sh struct {
	// Pay-to-Script-Hash, specify the redeem script or its hash.
	P2Sh *Output_RedeemScriptOrHash `protobuf:"bytes,1,opt,name=p2sh,proto3,oneof"`
}

type Output_OutputBuilder_P2TrDangerousAssumeTweaked

type Output_OutputBuilder_P2TrDangerousAssumeTweaked struct {
	P2TrDangerousAssumeTweaked []byte `protobuf:"bytes,8,opt,name=p2tr_dangerous_assume_tweaked,json=p2trDangerousAssumeTweaked,proto3,oneof"`
}

type Output_OutputBuilder_P2TrKeyPath

type Output_OutputBuilder_P2TrKeyPath struct {
	// Pay-to-Taproot-key-path (balance transfers), specify the public key.
	P2TrKeyPath []byte `protobuf:"bytes,6,opt,name=p2tr_key_path,json=p2trKeyPath,proto3,oneof"`
}

type Output_OutputBuilder_P2TrScriptPath

type Output_OutputBuilder_P2TrScriptPath struct {
	// Pay-to-Taproot-script-path (complex transfers)
	P2TrScriptPath *Output_OutputTaprootScriptPath `protobuf:"bytes,7,opt,name=p2tr_script_path,json=p2trScriptPath,proto3,oneof"`
}

type Output_OutputBuilder_P2Wpkh

type Output_OutputBuilder_P2Wpkh struct {
	// Pay-to-Public-Key-Hash, specify the public key or its hash.
	P2Wpkh *PublicKeyOrHash `protobuf:"bytes,5,opt,name=p2wpkh,proto3,oneof"`
}

type Output_OutputBuilder_P2Wsh

type Output_OutputBuilder_P2Wsh struct {
	// Pay-to-Witness-Script-Hash, specify the redeem script or its hash.
	P2Wsh *Output_RedeemScriptOrHash `protobuf:"bytes,4,opt,name=p2wsh,proto3,oneof"`
}

type Output_OutputTaprootScriptPath

type Output_OutputTaprootScriptPath struct {

	// The internal key, usually the public key of the recipient.
	InternalKey []byte `protobuf:"bytes,1,opt,name=internal_key,json=internalKey,proto3" json:"internal_key,omitempty"`
	// The merkle root of the Taproot script(s), required to compute the sighash.
	MerkleRoot []byte `protobuf:"bytes,2,opt,name=merkle_root,json=merkleRoot,proto3" json:"merkle_root,omitempty"`
	// contains filtered or unexported fields
}

func (*Output_OutputTaprootScriptPath) Descriptor deprecated

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

Deprecated: Use Output_OutputTaprootScriptPath.ProtoReflect.Descriptor instead.

func (*Output_OutputTaprootScriptPath) GetInternalKey

func (x *Output_OutputTaprootScriptPath) GetInternalKey() []byte

func (*Output_OutputTaprootScriptPath) GetMerkleRoot

func (x *Output_OutputTaprootScriptPath) GetMerkleRoot() []byte

func (*Output_OutputTaprootScriptPath) ProtoMessage

func (*Output_OutputTaprootScriptPath) ProtoMessage()

func (*Output_OutputTaprootScriptPath) ProtoReflect

func (*Output_OutputTaprootScriptPath) Reset

func (x *Output_OutputTaprootScriptPath) Reset()

func (*Output_OutputTaprootScriptPath) String

type Output_RedeemScriptOrHash

type Output_RedeemScriptOrHash struct {

	// Types that are valid to be assigned to Variant:
	//
	//	*Output_RedeemScriptOrHash_RedeemScript
	//	*Output_RedeemScriptOrHash_Hash
	Variant isOutput_RedeemScriptOrHash_Variant `protobuf_oneof:"variant"`
	// contains filtered or unexported fields
}

Either a redeem script or its hash.

func (*Output_RedeemScriptOrHash) Descriptor deprecated

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

Deprecated: Use Output_RedeemScriptOrHash.ProtoReflect.Descriptor instead.

func (*Output_RedeemScriptOrHash) GetHash

func (x *Output_RedeemScriptOrHash) GetHash() []byte

func (*Output_RedeemScriptOrHash) GetRedeemScript

func (x *Output_RedeemScriptOrHash) GetRedeemScript() []byte

func (*Output_RedeemScriptOrHash) GetVariant

func (x *Output_RedeemScriptOrHash) GetVariant() isOutput_RedeemScriptOrHash_Variant

func (*Output_RedeemScriptOrHash) ProtoMessage

func (*Output_RedeemScriptOrHash) ProtoMessage()

func (*Output_RedeemScriptOrHash) ProtoReflect

func (*Output_RedeemScriptOrHash) Reset

func (x *Output_RedeemScriptOrHash) Reset()

func (*Output_RedeemScriptOrHash) String

func (x *Output_RedeemScriptOrHash) String() string

type Output_RedeemScriptOrHash_Hash

type Output_RedeemScriptOrHash_Hash struct {
	// Public key hash.
	Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3,oneof"`
}

type Output_RedeemScriptOrHash_RedeemScript

type Output_RedeemScriptOrHash_RedeemScript struct {
	// Redeem script bytes.
	RedeemScript []byte `protobuf:"bytes,1,opt,name=redeem_script,json=redeemScript,proto3,oneof"`
}

type Output_ToAddress

type Output_ToAddress struct {
	// Derive the expected output from the provided address.
	ToAddress string `protobuf:"bytes,4,opt,name=to_address,json=toAddress,proto3,oneof"`
}

type PreSigningOutput

type PreSigningOutput struct {

	// A possible error, `OK` if none.
	Error common.SigningError `protobuf:"varint,1,opt,name=error,proto3,enum=TW.Common.Proto.SigningError" json:"error,omitempty"`
	// Error description.
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// The sighashes to be signed; ECDSA for legacy and Segwit, Schnorr for Taproot.
	Sighashes []*PreSigningOutput_Sighash `protobuf:"bytes,4,rep,name=sighashes,proto3" json:"sighashes,omitempty"`
	// contains filtered or unexported fields
}

func (*PreSigningOutput) Descriptor deprecated

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

Deprecated: Use PreSigningOutput.ProtoReflect.Descriptor instead.

func (*PreSigningOutput) GetError

func (x *PreSigningOutput) GetError() common.SigningError

func (*PreSigningOutput) GetErrorMessage

func (x *PreSigningOutput) GetErrorMessage() string

func (*PreSigningOutput) GetSighashes

func (x *PreSigningOutput) GetSighashes() []*PreSigningOutput_Sighash

func (*PreSigningOutput) ProtoMessage

func (*PreSigningOutput) ProtoMessage()

func (*PreSigningOutput) ProtoReflect

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

func (*PreSigningOutput) Reset

func (x *PreSigningOutput) Reset()

func (*PreSigningOutput) String

func (x *PreSigningOutput) String() string

type PreSigningOutput_Sighash

type PreSigningOutput_Sighash struct {

	// Public key used for signing.
	// Please note it can be tweaked in case of P2TR scriptPubkey.
	PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
	// The sighash to be signed.
	Sighash []byte `protobuf:"bytes,2,opt,name=sighash,proto3" json:"sighash,omitempty"`
	// Signing method to be used to sign the sighash.
	SigningMethod PreSigningOutput_SigningMethod `` /* 156-byte string literal not displayed */
	// Taproot tweak if `Taproot` signing method is used.
	// Empty if there is no need to tweak the private to sign the sighash.
	Tweak *PreSigningOutput_TaprootTweak `protobuf:"bytes,4,opt,name=tweak,proto3" json:"tweak,omitempty"`
	// contains filtered or unexported fields
}

func (*PreSigningOutput_Sighash) Descriptor deprecated

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

Deprecated: Use PreSigningOutput_Sighash.ProtoReflect.Descriptor instead.

func (*PreSigningOutput_Sighash) GetPublicKey

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

func (*PreSigningOutput_Sighash) GetSighash

func (x *PreSigningOutput_Sighash) GetSighash() []byte

func (*PreSigningOutput_Sighash) GetSigningMethod

func (*PreSigningOutput_Sighash) GetTweak

func (*PreSigningOutput_Sighash) ProtoMessage

func (*PreSigningOutput_Sighash) ProtoMessage()

func (*PreSigningOutput_Sighash) ProtoReflect

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

func (*PreSigningOutput_Sighash) Reset

func (x *PreSigningOutput_Sighash) Reset()

func (*PreSigningOutput_Sighash) String

func (x *PreSigningOutput_Sighash) String() string

type PreSigningOutput_SigningMethod

type PreSigningOutput_SigningMethod int32
const (
	// Used for P2SH and P2PKH - standard ecdsa secp256k1 signing
	PreSigningOutput_Legacy PreSigningOutput_SigningMethod = 0
	// Used for P2WSH and P2WPKH - standard ecdsa secp256k1 signing
	PreSigningOutput_Segwit PreSigningOutput_SigningMethod = 1
	// Used for P2TR key-path and P2TR script-pay - schnorr signing
	PreSigningOutput_Taproot PreSigningOutput_SigningMethod = 2
)

func (PreSigningOutput_SigningMethod) Descriptor

func (PreSigningOutput_SigningMethod) Enum

func (PreSigningOutput_SigningMethod) EnumDescriptor deprecated

func (PreSigningOutput_SigningMethod) EnumDescriptor() ([]byte, []int)

Deprecated: Use PreSigningOutput_SigningMethod.Descriptor instead.

func (PreSigningOutput_SigningMethod) Number

func (PreSigningOutput_SigningMethod) String

func (PreSigningOutput_SigningMethod) Type

type PreSigningOutput_TaprootTweak

type PreSigningOutput_TaprootTweak struct {

	// 32 bytes merkle root of the script tree.
	// Empty if there are no scripts, and the private key should be tweaked without a merkle root.
	MerkleRoot []byte `protobuf:"bytes,1,opt,name=merkle_root,json=merkleRoot,proto3" json:"merkle_root,omitempty"`
	// contains filtered or unexported fields
}

func (*PreSigningOutput_TaprootTweak) Descriptor deprecated

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

Deprecated: Use PreSigningOutput_TaprootTweak.ProtoReflect.Descriptor instead.

func (*PreSigningOutput_TaprootTweak) GetMerkleRoot

func (x *PreSigningOutput_TaprootTweak) GetMerkleRoot() []byte

func (*PreSigningOutput_TaprootTweak) ProtoMessage

func (*PreSigningOutput_TaprootTweak) ProtoMessage()

func (*PreSigningOutput_TaprootTweak) ProtoReflect

func (*PreSigningOutput_TaprootTweak) Reset

func (x *PreSigningOutput_TaprootTweak) Reset()

func (*PreSigningOutput_TaprootTweak) String

type Psbt

type Psbt struct {

	// Partially Signed Bitcoin Transaction binary encoded.
	Psbt []byte `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"`
	// contains filtered or unexported fields
}

Partially Signed Bitcoin Transaction.

func (*Psbt) Descriptor deprecated

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

Deprecated: Use Psbt.ProtoReflect.Descriptor instead.

func (*Psbt) GetPsbt

func (x *Psbt) GetPsbt() []byte

func (*Psbt) ProtoMessage

func (*Psbt) ProtoMessage()

func (*Psbt) ProtoReflect

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

func (*Psbt) Reset

func (x *Psbt) Reset()

func (*Psbt) String

func (x *Psbt) String() string

type PublicKeyOrHash

type PublicKeyOrHash struct {

	// Types that are valid to be assigned to Variant:
	//
	//	*PublicKeyOrHash_Pubkey
	//	*PublicKeyOrHash_Hash
	Variant isPublicKeyOrHash_Variant `protobuf_oneof:"variant"`
	// contains filtered or unexported fields
}

Either a public key or public key hash.

func (*PublicKeyOrHash) Descriptor deprecated

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

Deprecated: Use PublicKeyOrHash.ProtoReflect.Descriptor instead.

func (*PublicKeyOrHash) GetHash

func (x *PublicKeyOrHash) GetHash() []byte

func (*PublicKeyOrHash) GetPubkey

func (x *PublicKeyOrHash) GetPubkey() []byte

func (*PublicKeyOrHash) GetVariant

func (x *PublicKeyOrHash) GetVariant() isPublicKeyOrHash_Variant

func (*PublicKeyOrHash) ProtoMessage

func (*PublicKeyOrHash) ProtoMessage()

func (*PublicKeyOrHash) ProtoReflect

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

func (*PublicKeyOrHash) Reset

func (x *PublicKeyOrHash) Reset()

func (*PublicKeyOrHash) String

func (x *PublicKeyOrHash) String() string

type PublicKeyOrHash_Hash

type PublicKeyOrHash_Hash struct {
	// Public key hash.
	Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3,oneof"`
}

type PublicKeyOrHash_Pubkey

type PublicKeyOrHash_Pubkey struct {
	// Public key bytes.
	Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3,oneof"`
}

type PublicKeySignature

type PublicKeySignature struct {

	// Public key bytes. Type of the public key depends on the context.
	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 SigningInput

type SigningInput struct {

	// User private keys.
	// Only required if the `sign` method is called.
	PrivateKeys [][]byte `protobuf:"bytes,1,rep,name=private_keys,json=privateKeys,proto3" json:"private_keys,omitempty"`
	// User public keys.
	// Only required if the `plan`, `preImageHash` methods are called.
	PublicKeys [][]byte `protobuf:"bytes,2,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty"`
	// Chain info includes p2pkh, p2sh address prefixes.
	// The parameter needs to be set if an input/output has a receiver address pattern.
	ChainInfo *ChainInfo `protobuf:"bytes,3,opt,name=chain_info,json=chainInfo,proto3" json:"chain_info,omitempty"`
	// Whether disable auxiliary random data when signing.
	// Use for testing **ONLY**.
	DangerousUseFixedSchnorrRng bool `` /* 149-byte string literal not displayed */
	// The transaction signing type.
	//
	// Types that are valid to be assigned to Transaction:
	//
	//	*SigningInput_Builder
	//	*SigningInput_Psbt
	Transaction isSigningInput_Transaction `protobuf_oneof:"transaction"`
	// contains filtered or unexported fields
}

func (*SigningInput) Descriptor deprecated

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

Deprecated: Use SigningInput.ProtoReflect.Descriptor instead.

func (*SigningInput) GetBuilder

func (x *SigningInput) GetBuilder() *TransactionBuilder

func (*SigningInput) GetChainInfo

func (x *SigningInput) GetChainInfo() *ChainInfo

func (*SigningInput) GetDangerousUseFixedSchnorrRng

func (x *SigningInput) GetDangerousUseFixedSchnorrRng() bool

func (*SigningInput) GetPrivateKeys

func (x *SigningInput) GetPrivateKeys() [][]byte

func (*SigningInput) GetPsbt

func (x *SigningInput) GetPsbt() *Psbt

func (*SigningInput) GetPublicKeys

func (x *SigningInput) GetPublicKeys() [][]byte

func (*SigningInput) GetTransaction

func (x *SigningInput) GetTransaction() isSigningInput_Transaction

func (*SigningInput) ProtoMessage

func (*SigningInput) ProtoMessage()

func (*SigningInput) ProtoReflect

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

func (*SigningInput) Reset

func (x *SigningInput) Reset()

func (*SigningInput) String

func (x *SigningInput) String() string

type SigningInput_Builder

type SigningInput_Builder struct {
	// Build a transaction to be signed.
	Builder *TransactionBuilder `protobuf:"bytes,10,opt,name=builder,proto3,oneof"`
}

type SigningInput_Psbt

type SigningInput_Psbt struct {
	// Finalize a Partially Signed Bitcoin Transaction by signing the rest of UTXOs.
	Psbt *Psbt `protobuf:"bytes,11,opt,name=psbt,proto3,oneof"`
}

type SigningOutput

type SigningOutput struct {

	// A possible error, `OK` if none.
	Error common.SigningError `protobuf:"varint,1,opt,name=error,proto3,enum=TW.Common.Proto.SigningError" json:"error,omitempty"`
	// Error description.
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// The encoded transaction that can be submitted to the network.
	Encoded []byte `protobuf:"bytes,4,opt,name=encoded,proto3" json:"encoded,omitempty"`
	// The transaction ID (hash).
	Txid []byte `protobuf:"bytes,5,opt,name=txid,proto3" json:"txid,omitempty"`
	// The total `vsize` in `vbytes`.
	// It is used to compare how much blockweight needs to be allocated to confirm a transaction.
	// For non-segwit transactions, `vsize` = `size`.
	Vsize uint64 `protobuf:"varint,6,opt,name=vsize,proto3" json:"vsize,omitempty"`
	// Transaction weight is defined as Base transaction size * 3 + Total transaction size
	// (ie. the same method as calculating Block weight from Base size and Total size).
	Weight uint64 `protobuf:"varint,7,opt,name=weight,proto3" json:"weight,omitempty"`
	// The total and final fee of the transaction in satoshis.
	Fee int64 `protobuf:"varint,8,opt,name=fee,proto3" json:"fee,omitempty"`
	// Optional. Signed transaction serialized as PSBT.
	// Set if `SigningInput.psbt` is used.
	Psbt *Psbt `protobuf:"bytes,9,opt,name=psbt,proto3" json:"psbt,omitempty"`
	// Resulting transaction.
	//
	// Types that are valid to be assigned to Transaction:
	//
	//	*SigningOutput_Bitcoin
	//	*SigningOutput_Zcash
	//	*SigningOutput_Decred
	Transaction isSigningOutput_Transaction `protobuf_oneof:"transaction"`
	// contains filtered or unexported fields
}

func (*SigningOutput) Descriptor deprecated

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

Deprecated: Use SigningOutput.ProtoReflect.Descriptor instead.

func (*SigningOutput) GetBitcoin

func (x *SigningOutput) GetBitcoin() *utxo.Transaction

func (*SigningOutput) GetDecred

func (x *SigningOutput) GetDecred() *decredv2.Transaction

func (*SigningOutput) GetEncoded

func (x *SigningOutput) GetEncoded() []byte

func (*SigningOutput) GetError

func (x *SigningOutput) GetError() common.SigningError

func (*SigningOutput) GetErrorMessage

func (x *SigningOutput) GetErrorMessage() string

func (*SigningOutput) GetFee

func (x *SigningOutput) GetFee() int64

func (*SigningOutput) GetPsbt

func (x *SigningOutput) GetPsbt() *Psbt

func (*SigningOutput) GetTransaction

func (x *SigningOutput) GetTransaction() isSigningOutput_Transaction

func (*SigningOutput) GetTxid

func (x *SigningOutput) GetTxid() []byte

func (*SigningOutput) GetVsize

func (x *SigningOutput) GetVsize() uint64

func (*SigningOutput) GetWeight

func (x *SigningOutput) GetWeight() uint64

func (*SigningOutput) GetZcash

func (x *SigningOutput) GetZcash() *zcash.Transaction

func (*SigningOutput) ProtoMessage

func (*SigningOutput) ProtoMessage()

func (*SigningOutput) ProtoReflect

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

func (*SigningOutput) Reset

func (x *SigningOutput) Reset()

func (*SigningOutput) String

func (x *SigningOutput) String() string

type SigningOutput_Bitcoin

type SigningOutput_Bitcoin struct {
	// Standard Bitcoin transaction.
	Bitcoin *utxo.Transaction `protobuf:"bytes,15,opt,name=bitcoin,proto3,oneof"`
}

type SigningOutput_Decred

type SigningOutput_Decred struct {
	// Decred transaction.
	Decred *decredv2.Transaction `protobuf:"bytes,17,opt,name=decred,proto3,oneof"`
}

type SigningOutput_Zcash

type SigningOutput_Zcash struct {
	// ZCash transaction.
	Zcash *zcash.Transaction `protobuf:"bytes,16,opt,name=zcash,proto3,oneof"`
}

type TransactionBuilder

type TransactionBuilder struct {

	// Transaction version.
	Version TransactionVersion `protobuf:"varint,1,opt,name=version,proto3,enum=TW.BitcoinV2.Proto.TransactionVersion" json:"version,omitempty"`
	// (optional) Block height or timestamp indicating at what point transactions can be included in a block.
	// Zero by default.
	LockTime uint32 `protobuf:"varint,2,opt,name=lock_time,json=lockTime,proto3" json:"lock_time,omitempty"`
	// The inputs to spend.
	Inputs []*Input `protobuf:"bytes,3,rep,name=inputs,proto3" json:"inputs,omitempty"`
	// The output of the transaction. Note that the change output is specified
	// in the `change_output` field.
	Outputs []*Output `protobuf:"bytes,4,rep,name=outputs,proto3" json:"outputs,omitempty"`
	// How the inputs should be selected.
	InputSelector InputSelector `` /* 139-byte string literal not displayed */
	// The amount of satoshis per vbyte ("satVb"), used for fee calculation.
	// Can be satoshis per byte ("satB") **ONLY** when transaction does not contain segwit UTXOs.
	FeePerVb int64 `protobuf:"varint,6,opt,name=fee_per_vb,json=feePerVb,proto3" json:"fee_per_vb,omitempty"`
	// (optional) The change output to be added (return to sender) at the end of the outputs list.
	// The `Output.value` will be overwritten, leave default.
	// Note there can be no change output if the change amount is less than dust threshold.
	// Leave empty to explicitly disable change output creation.
	ChangeOutput *Output `protobuf:"bytes,7,opt,name=change_output,json=changeOutput,proto3" json:"change_output,omitempty"`
	// The only output with a max available amount to be send.
	// If set, `SigningInput.outputs` and `SigningInput.change` will be ignored.
	// The `Output.value` will be overwritten, leave default.
	MaxAmountOutput *Output `protobuf:"bytes,8,opt,name=max_amount_output,json=maxAmountOutput,proto3" json:"max_amount_output,omitempty"`
	// One of the "Dust" amount policies.
	// Later, we plan to add support for `DynamicDust` policy with a `min_relay_fee` amount.
	//
	// Types that are valid to be assigned to DustPolicy:
	//
	//	*TransactionBuilder_FixedDustThreshold
	DustPolicy isTransactionBuilder_DustPolicy `protobuf_oneof:"dust_policy"`
	// Types that are valid to be assigned to ChainSpecific:
	//
	//	*TransactionBuilder_ZcashExtraData
	ChainSpecific isTransactionBuilder_ChainSpecific `protobuf_oneof:"chain_specific"`
	// contains filtered or unexported fields
}

Transaction builder used in `SigningInput`.

func (*TransactionBuilder) Descriptor deprecated

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

Deprecated: Use TransactionBuilder.ProtoReflect.Descriptor instead.

func (*TransactionBuilder) GetChainSpecific

func (x *TransactionBuilder) GetChainSpecific() isTransactionBuilder_ChainSpecific

func (*TransactionBuilder) GetChangeOutput

func (x *TransactionBuilder) GetChangeOutput() *Output

func (*TransactionBuilder) GetDustPolicy

func (x *TransactionBuilder) GetDustPolicy() isTransactionBuilder_DustPolicy

func (*TransactionBuilder) GetFeePerVb

func (x *TransactionBuilder) GetFeePerVb() int64

func (*TransactionBuilder) GetFixedDustThreshold

func (x *TransactionBuilder) GetFixedDustThreshold() int64

func (*TransactionBuilder) GetInputSelector

func (x *TransactionBuilder) GetInputSelector() InputSelector

func (*TransactionBuilder) GetInputs

func (x *TransactionBuilder) GetInputs() []*Input

func (*TransactionBuilder) GetLockTime

func (x *TransactionBuilder) GetLockTime() uint32

func (*TransactionBuilder) GetMaxAmountOutput

func (x *TransactionBuilder) GetMaxAmountOutput() *Output

func (*TransactionBuilder) GetOutputs

func (x *TransactionBuilder) GetOutputs() []*Output

func (*TransactionBuilder) GetVersion

func (x *TransactionBuilder) GetVersion() TransactionVersion

func (*TransactionBuilder) GetZcashExtraData

func (x *TransactionBuilder) GetZcashExtraData() *zcash.TransactionBuilderExtraData

func (*TransactionBuilder) ProtoMessage

func (*TransactionBuilder) ProtoMessage()

func (*TransactionBuilder) ProtoReflect

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

func (*TransactionBuilder) Reset

func (x *TransactionBuilder) Reset()

func (*TransactionBuilder) String

func (x *TransactionBuilder) String() string

type TransactionBuilder_FixedDustThreshold

type TransactionBuilder_FixedDustThreshold struct {
	// Use a constant "Dust" threshold.
	FixedDustThreshold int64 `protobuf:"varint,10,opt,name=fixed_dust_threshold,json=fixedDustThreshold,proto3,oneof"`
}

type TransactionBuilder_ZcashExtraData

type TransactionBuilder_ZcashExtraData struct {
	// ZCash specific transaction data.
	ZcashExtraData *zcash.TransactionBuilderExtraData `protobuf:"bytes,20,opt,name=zcash_extra_data,json=zcashExtraData,proto3,oneof"`
}

type TransactionPlan

type TransactionPlan struct {

	// A possible error, `OK` if none.
	Error common.SigningError `protobuf:"varint,1,opt,name=error,proto3,enum=TW.Common.Proto.SigningError" json:"error,omitempty"`
	// Error description.
	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// Selected unspent transaction outputs (subset of all input UTXOs).
	Inputs []*Input `protobuf:"bytes,3,rep,name=inputs,proto3" json:"inputs,omitempty"`
	// Transaction outputs including a change output if applied.
	Outputs []*Output `protobuf:"bytes,4,rep,name=outputs,proto3" json:"outputs,omitempty"`
	// Maximum available amount in all the transaction input UTXOs.
	// That is an amount that will be spent by this transaction.
	AvailableAmount int64 `protobuf:"varint,5,opt,name=available_amount,json=availableAmount,proto3" json:"available_amount,omitempty"`
	// Total sending amount in all the transaction outputs.
	// That is an amount that will be sent (including change output if applied).
	SendAmount int64 `protobuf:"varint,6,opt,name=send_amount,json=sendAmount,proto3" json:"send_amount,omitempty"`
	// The estimated `vsize` in `vbytes`.
	// It is used to compare how much blockweight needs to be allocated to confirm a transaction.
	// For non-segwit transactions, `vsize` = `size`.
	VsizeEstimate uint64 `protobuf:"varint,7,opt,name=vsize_estimate,json=vsizeEstimate,proto3" json:"vsize_estimate,omitempty"`
	// The estimated fees of the transaction in satoshis.
	FeeEstimate int64 `protobuf:"varint,8,opt,name=fee_estimate,json=feeEstimate,proto3" json:"fee_estimate,omitempty"`
	// Remaining change.
	// Zero if not applied.
	Change int64 `protobuf:"varint,9,opt,name=change,proto3" json:"change,omitempty"`
	// contains filtered or unexported fields
}

func (*TransactionPlan) Descriptor deprecated

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

Deprecated: Use TransactionPlan.ProtoReflect.Descriptor instead.

func (*TransactionPlan) GetAvailableAmount

func (x *TransactionPlan) GetAvailableAmount() int64

func (*TransactionPlan) GetChange

func (x *TransactionPlan) GetChange() int64

func (*TransactionPlan) GetError

func (x *TransactionPlan) GetError() common.SigningError

func (*TransactionPlan) GetErrorMessage

func (x *TransactionPlan) GetErrorMessage() string

func (*TransactionPlan) GetFeeEstimate

func (x *TransactionPlan) GetFeeEstimate() int64

func (*TransactionPlan) GetInputs

func (x *TransactionPlan) GetInputs() []*Input

func (*TransactionPlan) GetOutputs

func (x *TransactionPlan) GetOutputs() []*Output

func (*TransactionPlan) GetSendAmount

func (x *TransactionPlan) GetSendAmount() int64

func (*TransactionPlan) GetVsizeEstimate

func (x *TransactionPlan) GetVsizeEstimate() uint64

func (*TransactionPlan) ProtoMessage

func (*TransactionPlan) ProtoMessage()

func (*TransactionPlan) ProtoReflect

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

func (*TransactionPlan) Reset

func (x *TransactionPlan) Reset()

func (*TransactionPlan) String

func (x *TransactionPlan) String() string

type TransactionVersion

type TransactionVersion int32
const (
	// V1 is used by default.
	TransactionVersion_UseDefault TransactionVersion = 0
	// Original transaction version.
	TransactionVersion_V1 TransactionVersion = 1
	// https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki#specification
	TransactionVersion_V2 TransactionVersion = 2
)

func (TransactionVersion) Descriptor

func (TransactionVersion) Enum

func (TransactionVersion) EnumDescriptor deprecated

func (TransactionVersion) EnumDescriptor() ([]byte, []int)

Deprecated: Use TransactionVersion.Descriptor instead.

func (TransactionVersion) Number

func (TransactionVersion) String

func (x TransactionVersion) String() string

func (TransactionVersion) Type

Jump to

Keyboard shortcuts

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