types

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrAccountFailedToBase58Decode     = errors.New("failed to base58 decode")
	ErrAccountFailedToHexDecode        = errors.New("failed to hex decode")
	ErrAccountPrivateKeyLengthMismatch = errors.New("key length mismatch")
)
View Source
var (
	ErrTransactionAddNotNecessarySignatures = errors.New("add not necessary signatures")
)

Functions

func CreateRawTransaction

func CreateRawTransaction(param CreateRawTransactionParam) ([]byte, error)

Types

type Account

type Account struct {
	PublicKey  common.PublicKey
	PrivateKey ed25519.PrivateKey
}

func AccountFromBase58

func AccountFromBase58(key string) (Account, error)

AccountFromBase58 generate a account by base58 private key

func AccountFromBytes

func AccountFromBytes(key []byte) (Account, error)

AccountFromBytes generate a account by bytes private key

func AccountFromHex

func AccountFromHex(key string) (Account, error)

AccountFromHex generate a account by hex private key

func AccountFromPrivateKeyBytes

func AccountFromPrivateKeyBytes(privateKey []byte) Account

AccountFromPrivateKeyBytes DEPRECATED, use AccountFromBytes instead. it will be removed in v2.0.0

func NewAccount

func NewAccount() Account

func (Account) Sign

func (a Account) Sign(message []byte) []byte

type AccountMeta

type AccountMeta struct {
	PubKey     common.PublicKey
	IsSigner   bool
	IsWritable bool
}

type CompiledInstruction

type CompiledInstruction struct {
	ProgramIDIndex int
	Accounts       []int
	Data           []byte
}

type CreateRawTransactionParam

type CreateRawTransactionParam struct {
	Instructions    []Instruction
	Signers         []Account
	FeePayer        common.PublicKey
	RecentBlockHash string
}

type Instruction

type Instruction struct {
	ProgramID common.PublicKey
	Accounts  []AccountMeta
	Data      []byte
}

type Message

type Message struct {
	Header          MessageHeader
	Accounts        []common.PublicKey
	RecentBlockHash string
	Instructions    []CompiledInstruction
}

func MessageDeserialize

func MessageDeserialize(messageData []byte) (Message, error)

func MustMessageDeserialize

func MustMessageDeserialize(messageData []byte) Message

func NewMessage

func NewMessage(feePayer common.PublicKey, instructions []Instruction, recentBlockHash string) Message

func (*Message) DecompileInstructions

func (m *Message) DecompileInstructions() []Instruction

func (*Message) Serialize

func (m *Message) Serialize() ([]byte, error)

type MessageHeader

type MessageHeader struct {
	NumRequireSignatures        uint8
	NumReadonlySignedAccounts   uint8
	NumReadonlyUnsignedAccounts uint8
}

type Signature

type Signature []byte

type Transaction

type Transaction struct {
	Signatures []Signature
	Message    Message
}

func CreateTransaction

func CreateTransaction(message Message, signaturePairs map[common.PublicKey]Signature) (Transaction, error)

func MustTransactionDeserialize

func MustTransactionDeserialize(data []byte) Transaction

func NewTransaction

func NewTransaction(message Message, signers []Account) (Transaction, error)

func TransactionDeserialize

func TransactionDeserialize(tx []byte) (Transaction, error)

func (*Transaction) AddSignature

func (tx *Transaction) AddSignature(sig []byte) error

func (*Transaction) Serialize

func (tx *Transaction) Serialize() ([]byte, error)

Jump to

Keyboard shortcuts

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