address

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	P2Pkh = iota
	P2Sh
	ConfidentialP2Pkh
	ConfidentialP2Sh
	P2Wpkh
	P2Wsh
	ConfidentialP2Wpkh
	ConfidentialP2Wsh

	P2PkhScript      = 1
	P2ShScript       = 2
	P2MultiSigScript = 3
	P2WpkhScript     = 4
	P2WshScript      = 5
)
View Source
const (
	// MaxDataCarrierSize is the maximum number of bytes allowed in pushed
	// Data to be considered a nulldata transaction
	MaxDataCarrierSize = 80
)

Variables

This section is empty.

Functions

func DecodeType

func DecodeType(address string) (int, error)

DecodeType returns address type

func GetScriptType

func GetScriptType(script []byte) int

GetScriptType returns the type of the given script (p2pkh, p2sh, etc.)

func IsConfidential

func IsConfidential(address string) (bool, error)

IsConfidential checks whether the given address is confidential

func IsMultiSig

func IsMultiSig(pops []ParsedOpcode) bool

IsMultiSig returns true if the passed script is a multisig transaction, false otherwise.

func IsPubkey

func IsPubkey(pops []ParsedOpcode) bool

IsPubkey returns true if the script passed is a pay-to-pubkey transaction, false otherwise.

func IsPubkeyHash

func IsPubkeyHash(pops []ParsedOpcode) bool

IsPubkeyHash returns true if the script passed is a pay-to-pubkey-hash transaction, false otherwise.

func IsScriptHash

func IsScriptHash(pops []ParsedOpcode) bool

IsScriptHash returns true if the script passed is a pay-to-script-hash transaction, false otherwise.

func IsWitnessPubKeyHash

func IsWitnessPubKeyHash(pops []ParsedOpcode) bool

IsWitnessPubKeyHash returns true if the passed script is a pay-to-witness-pubkey-hash, and false otherwise.

func IsWitnessScriptHash

func IsWitnessScriptHash(pops []ParsedOpcode) bool

IsWitnessScriptHash returns true if the passed script is a pay-to-witness-script-hash transaction, false otherwise.

func NetworkForAddress

func NetworkForAddress(address string) (*network.Network, error)

NetworkForAddress returns the network based on the prefix of the given address

func ToBase58

func ToBase58(b *Base58) string

ToBase58 prepends a version byte and appends a four byte checksum.

func ToBase58Confidential

func ToBase58Confidential(b *Base58Confidential) string

ToBase58Confidential prepends a version byte and appends a four byte checksum.

func ToBech32

func ToBech32(bc *Bech32) (string, error)

ToBech32 encodes a byte slice into a bech32 string with the human-readable part hrb. Note that the bytes must each encode 5 bits

func ToBlech32

func ToBlech32(bl *Blech32) (string, error)

ToBlech32 encodes a byte slice into a blech32 string

func ToConfidential

func ToConfidential(ca *ConfidentialAddress) (string, error)

ToConfidential returns the confidential address formed by the given unconfidential address and blinding public key

func ToOutputScript

func ToOutputScript(address string) ([]byte, error)

ToOutputScript creates a new script to pay a transaction output to a the specified address

Types

type Address

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

Address defines the address as string

type Base58

type Base58 struct {
	Version byte
	Data    []byte
}

Base58 type defines the structure of a legacy or wrapped segwit address

func FromBase58

func FromBase58(address string) (*Base58, error)

FromBase58 decodes a string that was base58 encoded and verifies the checksum.

type Base58Confidential

type Base58Confidential struct {
	Base58
	Version   byte
	PublicKey []byte
}

Base58Confidential type defines the structure of a legacy or wrapped segwit confidential address

func FromBase58Confidential

func FromBase58Confidential(address string) (*Base58Confidential, error)

FromBase58Confidential decodes a confidenail address that was base58 encoded

and verifies the checksum.

type Bech32

type Bech32 struct {
	Prefix  string
	Version byte
	Program []byte
}

Bech32 defines the structure of an address native segwit

func FromBech32

func FromBech32(address string) (*Bech32, error)

FromBech32 decodes a bech32 encoded string, returning the human-readable part and the Data part excluding the checksum.

type Blech32

type Blech32 struct {
	Prefix    string
	Version   byte
	PublicKey []byte
	Program   []byte
}

Blech32 defines the structure of a confidential address native segwit

func FromBlech32

func FromBlech32(address string) (*Blech32, error)

FromBlech32 decodes a blech32 encoded string, returning the human-readable part and the Data part excluding the checksum.

type ConfidentialAddress

type ConfidentialAddress struct {
	Address     string
	BlindingKey []byte
}

ConfidentialAddress defines the structure of a generic confidential address

func FromConfidential

func FromConfidential(address string) (*ConfidentialAddress, error)

FromConfidential returns the unconfidential address and the blinding public key that form the confidential address

type Opcode

type Opcode struct {
	Value  byte
	Name   string
	Length int
}

An Opcode defines the information related to a txscript Opcode. opfunc, if present, is the function to call to perform the Opcode on the script. The current script is passed in as a slice with the first member being the Opcode itself.

type ParsedOpcode

type ParsedOpcode struct {
	Opcode *Opcode
	Data   []byte
}

ParsedOpcode represents an Opcode that has been parsed and includes any potential Data associated with it.

func ParseScript

func ParseScript(script []byte) ([]ParsedOpcode, error)

parseScript preparses the script in bytes into a list of parsedOpcodes while applying a number of sanity checks.

type ScriptClass

type ScriptClass byte

ScriptClass is an enumeration for the list of standard types of script.

const (
	NonStandardTy         ScriptClass = iota // None of the recognized forms.
	PubKeyTy                                 // Pay pubkey.
	PubKeyHashTy                             // Pay pubkey hash.
	WitnessV0PubKeyHashTy                    // Pay witness pubkey hash.
	ScriptHashTy                             // Pay to script hash.
	WitnessV0ScriptHashTy                    // Pay to witness script hash.
	MultiSigTy                               // Multi signature.
	NullDataTy                               // Empty Data-only (provably prunable).
)

Classes of script payment known about in the blockchain.

func TypeOfScript

func TypeOfScript(pops []ParsedOpcode) ScriptClass

scriptType returns the type of the script being inspected from the known standard types.

Jump to

Keyboard shortcuts

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