transaction

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 17, 2021 License: MIT Imports: 9 Imported by: 25

Documentation

Overview

Package transaction provides functions for parsing transactions, extracting JSON data from them, conversions and validation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractJSON

func ExtractJSON(txs Transactions) (string, error)

ExtractJSON extracts a JSON string from the given transactions. It supports JSON messages in the following format:

- "{ \"message\": \"hello\" }"

- "[1, 2, 3]"

- "true", "false" and "null"

- "hello"

- 123

func FinalTransactionTrytes

func FinalTransactionTrytes(txs Transactions) ([]Trytes, error)

FinalTransactionTrytes returns a slice of transaction trytes from the given transactions. The order of the transactions is reversed in the output slice.

func HasValidNonce

func HasValidNonce(t *Transaction, mwm uint64) bool

HasValidNonce checks if the transaction has the valid MinWeightMagnitude. MWM corresponds to the amount of zero trits at the end of the transaction hash.

func IsTailTransaction

func IsTailTransaction(t *Transaction) bool

IsTailTransaction checks if given transaction object is tail transaction. A tail transaction is one with currentIndex = 0.

func MustFinalTransactionTrytes

func MustFinalTransactionTrytes(txs Transactions) []Trytes

MustFinalTransactionTrytes returns a slice of transaction trytes from the given transactions. The order of the transactions is reversed in the output slice.

func MustTransactionToTrytes

func MustTransactionToTrytes(t *Transaction) Trytes

MustTransactionToTrytes converts the transaction to trytes.

func MustTransactionsToTrytes

func MustTransactionsToTrytes(txs Transactions) []Trytes

MustTransactionsToTrytes returns a slice of transaction trytes from the given transactions.

func TransactionHash

func TransactionHash(t *Transaction) Hash

TransactionHash makes a transaction hash from the given transaction.

func TransactionToTrits

func TransactionToTrits(t *Transaction) (Trits, error)

TransactionToTrits converts the transaction to trits.

func TransactionToTrytes

func TransactionToTrytes(t *Transaction) (Trytes, error)

TransactionToTrytes converts the transaction to trytes.

func TransactionsToTrytes

func TransactionsToTrytes(txs Transactions) ([]Trytes, error)

TransactionsToTrytes returns a slice of transaction trytes from the given transactions.

func ValidTransactionTrytes

func ValidTransactionTrytes(trytes Trytes) error

ValidTransactionTrytes checks whether the given trytes make up a valid transaction schematically.

Types

type Transaction

type Transaction struct {
	Hash                          Hash   `json:"hash"`
	SignatureMessageFragment      Trytes `json:"signatureMessageFragment"`
	Address                       Hash   `json:"address"`
	Value                         int64  `json:"value"`
	ObsoleteTag                   Trytes `json:"obsoleteTag"`
	Timestamp                     uint64 `json:"timestamp"`
	CurrentIndex                  uint64 `json:"currentIndex"`
	LastIndex                     uint64 `json:"lastIndex"`
	Bundle                        Hash   `json:"bundle"`
	TrunkTransaction              Hash   `json:"trunkTransaction"`
	BranchTransaction             Hash   `json:"branchTransaction"`
	Tag                           Trytes `json:"tag"`
	AttachmentTimestamp           int64  `json:"attachmentTimestamp"`
	AttachmentTimestampLowerBound int64  `json:"attachmentTimestampLowerBound"`
	AttachmentTimestampUpperBound int64  `json:"attachmentTimestampUpperBound"`
	Nonce                         Trytes `json:"nonce"`
	Confirmed                     *bool  `json:"confirmed,omitempty"`
	Persistence                   *bool  `json:"persistence,omitempty"`
}

Transaction represents a single transaction.

func AsTransactionObject

func AsTransactionObject(trytes Trytes, hash ...Hash) (*Transaction, error)

AsTransactionObject makes a new transaction from the given trytes. Optionally the computed transaction hash can be overwritten by supplying an own hash.

func ParseTransaction

func ParseTransaction(trits Trits, noHash ...bool) (*Transaction, error)

ParseTransaction parses the trits and returns a transaction object. The trits slice must be TransactionTrinarySize in length. If noHash is set to true, no transaction hash is calculated.

type Transactions

type Transactions []Transaction

Transactions is a slice of Transaction.

func AsTransactionObjects

func AsTransactionObjects(rawTrytes []Trytes, hashes Hashes) (Transactions, error)

AsTransactionObjects constructs new transactions from the given raw trytes.

Jump to

Keyboard shortcuts

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