transaction

package
v0.0.0-...-85922c0 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeEthData

func DecodeEthData(data string) (coreTps.Transaction, error)

Decode eth Transaction Data

func EncodeEvmData

func EncodeEvmData(evm *EvmContract) ([]byte, error)

func HashToString

func HashToString(hash []byte) string

func ParseEthSignature

func ParseEthSignature(ethtx *coreTps.Transaction) []byte

parse eth signature

func StringToHash

func StringToHash(hash string) ([]byte, error)

func VerifyEthSign

func VerifyEthSign(ethdata string) bool

Verify Eth Signature

func VerifyKtoSign

func VerifyKtoSign(kFrom *address.Address, msgHash []byte, ethdata string) bool

It's a eth transaction struct signed by kto priv

Types

type EvmContract

type EvmContract struct {
	EthData   string `json:"evm signed data"`
	MsgHash   []byte `json:"kto sign hash"`
	Operation string `json:"contract operation"`

	CreateCode []byte         `json:"create code"`
	Origin     common.Address `json:"origin"`

	ContractAddr common.Address `json:"contract address"`
	CallInput    []byte         `json:"call input code"`
	Ret          string         `json:"call ret"`
	Status       bool           `json:"call status"`

	Logs []*coreTps.Log `json:"evm logs"`
}

evm info

func DecodeEvmData

func DecodeEvmData(input []byte) (*EvmContract, error)

type FinishedTransaction

type FinishedTransaction struct {
	SignedTransaction
	GasUsed  uint64
	BlockNum uint64
}

func DecodeKtoTxData

func DecodeKtoTxData(data []byte) (*FinishedTransaction, error)

func DeserializeFinishedTransaction

func DeserializeFinishedTransaction(data []byte) (*FinishedTransaction, error)

func (*FinishedTransaction) GetGasUsed

func (t *FinishedTransaction) GetGasUsed() uint64

func (*FinishedTransaction) MarshalCBOR

func (ft *FinishedTransaction) MarshalCBOR(w io.Writer) error

func (*FinishedTransaction) Serialize

func (st *FinishedTransaction) Serialize() ([]byte, error)

func (*FinishedTransaction) UnmarshalCBOR

func (ft *FinishedTransaction) UnmarshalCBOR(r io.Reader) error

type SignedTransaction

type SignedTransaction struct {
	Transaction
	Signature crypto.Signature
}

func DeserializeSignaturedTransaction

func DeserializeSignaturedTransaction(data []byte) (*SignedTransaction, error)

func (*SignedTransaction) GetTransaction

func (st *SignedTransaction) GetTransaction() Transaction

func (*SignedTransaction) HashToString

func (st *SignedTransaction) HashToString() string

func (*SignedTransaction) MarshalCBOR

func (st *SignedTransaction) MarshalCBOR(w io.Writer) error

func (*SignedTransaction) Serialize

func (st *SignedTransaction) Serialize() ([]byte, error)

func (*SignedTransaction) String

func (st *SignedTransaction) String() string

func (*SignedTransaction) UnmarshalCBOR

func (st *SignedTransaction) UnmarshalCBOR(r io.Reader) error

func (*SignedTransaction) VerifySign

func (st *SignedTransaction) VerifySign() error

type Transaction

type Transaction struct {
	Version uint64
	Type    TransactionType
	From    address.Address
	To      address.Address
	Amount  uint64
	Nonce   uint64

	GasLimit  uint64
	GasFeeCap uint64
	GasPrice  uint64

	Input []byte
}

Transaction

func DeserializeTransaction

func DeserializeTransaction(data []byte) (*Transaction, error)

DeserializeTransaction deserializes binary data in cbor format into transaction, and returns an error if the data format is incorrect

func (*Transaction) AmountReceived

func (t *Transaction) AmountReceived() uint64

func (*Transaction) Caller

func (t *Transaction) Caller() address.Address

Caller address

func (*Transaction) GasCap

func (t *Transaction) GasCap() uint64

GasCap gas fee upper limit

func (*Transaction) GetAmount

func (t *Transaction) GetAmount() uint64

func (*Transaction) GetFrom

func (t *Transaction) GetFrom() address.Address

func (*Transaction) GetInput

func (t *Transaction) GetInput() []byte

func (*Transaction) GetNonce

func (t *Transaction) GetNonce() uint64

func (*Transaction) GetTo

func (t *Transaction) GetTo() address.Address

func (*Transaction) Hash

func (t *Transaction) Hash() []byte

func (*Transaction) IsBindingAddressTransaction

func (tx *Transaction) IsBindingAddressTransaction() bool

Binding Address Transaction

func (*Transaction) IsCoinBaseTransaction

func (tx *Transaction) IsCoinBaseTransaction() bool

func (*Transaction) IsEvmContractTransaction

func (tx *Transaction) IsEvmContractTransaction() bool

Evm Contract Transaction

func (*Transaction) IsKtoTransaction

func (tx *Transaction) IsKtoTransaction() bool

Evm Kto Transaction

func (*Transaction) IsLockTransaction

func (tx *Transaction) IsLockTransaction() bool

func (*Transaction) IsPledgeBreakTransaction

func (tx *Transaction) IsPledgeBreakTransaction() bool

func (*Transaction) IsPledgeTrasnaction

func (tx *Transaction) IsPledgeTrasnaction() bool

Pledge Trasnaction

func (*Transaction) IsTokenTransaction

func (tx *Transaction) IsTokenTransaction() bool

func (*Transaction) IsTransferTrasnaction

func (tx *Transaction) IsTransferTrasnaction() bool

func (*Transaction) IsUnlockTransaction

func (tx *Transaction) IsUnlockTransaction() bool

func (*Transaction) MarshalCBOR

func (t *Transaction) MarshalCBOR(w io.Writer) error

func (*Transaction) MutilSign

func (tx *Transaction) MutilSign(fromPriv, toPriv []byte) (*SignedTransaction, error)

func (*Transaction) Receiver

func (t *Transaction) Receiver() address.Address

Receiver address

func (*Transaction) Serialize

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

Serialize transaction in the cbor format

func (*Transaction) SignHash

func (t *Transaction) SignHash() []byte

SignHash required for signature

func (*Transaction) String

func (t *Transaction) String() string

func (*Transaction) UnmarshalCBOR

func (t *Transaction) UnmarshalCBOR(r io.Reader) error

type TransactionType

type TransactionType = uint8
const (
	TransferTransaction TransactionType = iota
	CoinBaseTransaction
	LockTransaction
	UnlockTransaction
	MortgageTransaction

	BindingAddressTransaction
	EvmContractTransaction
	PledgeTrasnaction
	EvmKtoTransaction

	IsTokenTransaction
	PledgeBreakTransaction

	WithdrawToEthTransaction
)

Jump to

Keyboard shortcuts

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