kaspa

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OpCheckSig = 172
	OpFalse    = 0
	OpIf       = 99
	OpEndIf    = 104
)
View Source
const DefaultDust = 2000000

Variables

This section is empty.

Functions

func GetKrc20Params

func GetKrc20Params(t *Krc20Params, pubKey []byte) (string, error)

func NewAccount

func NewAccount() signing.AccountHandler

func NewAccountFromMnemonic

func NewAccountFromMnemonic(mnemonic, path string) (signing.AccountHandler, error)

func NewAccountFromPrivateKey

func NewAccountFromPrivateKey(privateKey []byte) (signing.AccountHandler, error)

func NewAccountFromPrivateKeyHex

func NewAccountFromPrivateKeyHex(privateKey string) (signing.AccountHandler, error)

func PayToScriptHashScript

func PayToScriptHashScript(redeemScript []byte) ([]byte, error)

func PublicKey2Address

func PublicKey2Address(publicKey []byte) string

func SignWithPrivateKeyWithBlake2b

func SignWithPrivateKeyWithBlake2b(privateKeyBytes, data []byte) ([]byte, error)

func ValidAddress

func ValidAddress(address string) bool

func VerifySignatureWithBlake2b

func VerifySignatureWithBlake2b(publicKey, data, sig []byte) bool

Types

type Account

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

func (*Account) Address

func (a *Account) Address() string

func (*Account) PrivateKey

func (a *Account) PrivateKey() []byte

func (*Account) PrivateKeyHex

func (a *Account) PrivateKeyHex() string

func (*Account) PublicKey

func (a *Account) PublicKey() []byte

func (*Account) PublicKeyHex

func (a *Account) PublicKeyHex() string

func (*Account) SignData

func (a *Account) SignData(data []byte) ([]byte, error)

func (*Account) SignDataLikeOkx

func (a *Account) SignDataLikeOkx(data []byte) []byte

func (*Account) VerifySignData

func (a *Account) VerifySignData(data, sig []byte) bool

func (*Account) Wipe added in v0.9.0

func (a *Account) Wipe()

type AddressData

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

type DomainTransactionWrapper

type DomainTransactionWrapper struct {
	*externalapi.DomainTransaction
}

func (*DomainTransactionWrapper) MarshalJSON

func (tw *DomainTransactionWrapper) MarshalJSON() ([]byte, error)

func (*DomainTransactionWrapper) UnmarshalJSON

func (tw *DomainTransactionWrapper) UnmarshalJSON(data []byte) error

type Ingredient

type Ingredient struct {
	TxType            string            `json:"txType" validate:"required,oneof=0 1 2 3 4 5 6"`
	ContractAddress   string            `json:"contractAddress,omitempty" validate:"omitempty,native"`
	Sender            string            `json:"sender" validate:"required,kas_addr"`
	Recipient         string            `json:"recipient,omitempty" validate:"omitempty,kas_addr"`
	Amount            string            `json:"amount,omitempty" validate:"omitempty,bigint_gt0"`
	Fee               string            `json:"fee,omitempty" validate:"omitempty,u64_gt0"`
	Utxos             *signing.UtxoList `json:"utxos" validate:"required"`
	Krc20RedeemScript string            `json:"krc20RedeemScript,omitempty" validate:"omitempty,hex_str"`
}

types

type InputWrapper

type InputWrapper struct {
	*externalapi.DomainTransactionInput
}

func (InputWrapper) MarshalJSON

func (iw InputWrapper) MarshalJSON() ([]byte, error)

func (*InputWrapper) UnmarshalJSON

func (iw *InputWrapper) UnmarshalJSON(data []byte) error

type Krc20Params

type Krc20Params struct {
	P    string `json:"p"`
	Op   string `json:"op"`
	Tick string `json:"tick"`
	Amt  string `json:"amt"`
	To   string `json:"to"`
}

type OutputWrapper

type OutputWrapper struct {
	*externalapi.DomainTransactionOutput
}

func (*OutputWrapper) MarshalJSON

func (ow *OutputWrapper) MarshalJSON() ([]byte, error)

func (*OutputWrapper) UnmarshalJSON

func (ow *OutputWrapper) UnmarshalJSON(data []byte) error

type ScriptBuilder

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

func NewScriptBuilder

func NewScriptBuilder() *ScriptBuilder

func (*ScriptBuilder) AddData

func (b *ScriptBuilder) AddData(data []byte) *ScriptBuilder

func (*ScriptBuilder) AddInt64

func (b *ScriptBuilder) AddInt64(val int64) *ScriptBuilder

func (*ScriptBuilder) AddOp

func (b *ScriptBuilder) AddOp(opcode byte) *ScriptBuilder

func (*ScriptBuilder) Script

func (b *ScriptBuilder) Script() ([]byte, error)

type ScriptClass

type ScriptClass byte
const (
	NonStandardTy ScriptClass = iota
	PubKeyTy
	PubKeyECDSATy
	ScriptHashTy
)

func ExtractScriptPubKeyAddress

func ExtractScriptPubKeyAddress(scriptPubKey *externalapi.ScriptPublicKey, dagParams *dagconfig.Params) (ScriptClass, util.Address, error)

type TxBuilder

type TxBuilder struct {
	*Ingredient
	// contains filtered or unexported fields
}

types

func NewTxBuilder

func NewTxBuilder(ti *Ingredient) *TxBuilder

func (*TxBuilder) Build

func (tx *TxBuilder) Build() error

func (*TxBuilder) ConcatSignature

func (tx *TxBuilder) ConcatSignature(signature string, isDerFormat bool) (string, error)

func (*TxBuilder) GetSigHash

func (tx *TxBuilder) GetSigHash() []string

func (*TxBuilder) GetTxHash

func (tx *TxBuilder) GetTxHash() string

func (*TxBuilder) GetUnsignedHex

func (tx *TxBuilder) GetUnsignedHex() string

func (*TxBuilder) SetSigHash

func (tx *TxBuilder) SetSigHash(sigHash []string)

func (*TxBuilder) SetUnsignedHex

func (tx *TxBuilder) SetUnsignedHex(unsignedHex string)

func (*TxBuilder) Sign

func (tx *TxBuilder) Sign(privateKey []byte) (string, error)

Jump to

Keyboard shortcuts

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