transactions

package
v0.0.0-...-b839e02 Latest Latest
Warning

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

Go to latest
Published: May 4, 2023 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BatchBuilder

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

BatchBuilder implements the builder pattern for batches of transactions and implements the IBatchBuilder interface

func (*BatchBuilder) Build

func (b *BatchBuilder) Build(signer *signing.Signer) ([]byte, error)

Build returns a built batch as a byte slice or an error if fields were missing or proto failed to marshal

func (*BatchBuilder) GetTrace

func (b *BatchBuilder) GetTrace() bool

GetTrace returns the trace setting for the batch

func (*BatchBuilder) GetTransactions

func (b *BatchBuilder) GetTransactions() []*transaction_pb2.Transaction

GetTransactions returns the slice of transactions for the batch

type BatchOption

type BatchOption func(*BatchBuilder) error

BatchOption provide the functional options for building a BatchBuilder

func WithTrace

func WithTrace(trace bool) BatchOption

WithTrace sets the Batch Option for Trace

func WithTransactions

func WithTransactions(t []*transaction_pb2.Transaction) BatchOption

WithTransactions sets the Batch Option Transactions

type IBatchBuilder

type IBatchBuilder interface {
	GetTransactions() []*transaction_pb2.Transaction
	GetTrace() bool
	Build(signer *signing.Signer) ([]byte, error)
}

IBatchBuilder defines the interface for building Batches of Transactions

func NewBatchBuilder

func NewBatchBuilder(opts ...BatchOption) (IBatchBuilder, error)

NewBatchBuilder returns a new instance of IBatchBuilder interface

type ITransactionBuilder

type ITransactionBuilder interface {
	GetBatcherPublicKey() signing.PublicKey
	GetDependencies() []string
	GetFamilyName() string
	GetFamilyVersion() string
	GetInputs() []string
	GetOutputs() []string
	GetNonce() string
	GetPayload() []byte
	Build(*signing.Signer) (*transaction_pb2.Transaction, error)
}

ITransactionBuilder provides the interface for building transactions

func NewTransactionBuilder

func NewTransactionBuilder(opts ...TransactionBuilderOption) (ITransactionBuilder, error)

NewTransactionBuilder creates a TransactionBuilder from provided TransactionBuilderOptions

type TransactionBuilder

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

TransactionBuilder is the struct for creating a new Transaction and implements the ITransactionBuilder interface

func (*TransactionBuilder) Build

Build creates a Transaction provided signer of the transaction. Returns an Transaction and an error indicating missing fields or proto marshalling errors, if any

func (*TransactionBuilder) GetBatcherPublicKey

func (t *TransactionBuilder) GetBatcherPublicKey() signing.PublicKey

GetBatcherPublicKey returns the transaction builder's batcher public key

func (*TransactionBuilder) GetDependencies

func (t *TransactionBuilder) GetDependencies() []string

GetDependencies returns the transaction builder's dependencies as a slice of string

func (*TransactionBuilder) GetFamilyName

func (t *TransactionBuilder) GetFamilyName() string

GetFamilyName returns the transaction builder's family name string

func (*TransactionBuilder) GetFamilyVersion

func (t *TransactionBuilder) GetFamilyVersion() string

GetFamilyVersion returns the transaction builder's family version string

func (*TransactionBuilder) GetInputs

func (t *TransactionBuilder) GetInputs() []string

GetInputs returns the transaction builder's input addresses as a slice of string

func (*TransactionBuilder) GetNonce

func (t *TransactionBuilder) GetNonce() string

GetNonce returns the transaction builder's nonce string value

func (*TransactionBuilder) GetOutputs

func (t *TransactionBuilder) GetOutputs() []string

GetOutputs returns the transaction builder's output addresses as a slice of string

func (*TransactionBuilder) GetPayload

func (t *TransactionBuilder) GetPayload() []byte

GetPayload returns the transaction builder's payload bytes

type TransactionBuilderOption

type TransactionBuilderOption func(t *TransactionBuilder) error

TransactionBuilderOption provides the functional option for creating a new Transaction Builder

func WithBatcherPublicKey

func WithBatcherPublicKey(key signing.PublicKey) TransactionBuilderOption

WithBatcherPublicKey provides the TransactionBuilderOption for defining a public key to sign batches

func WithDependencies

func WithDependencies(deps []string) TransactionBuilderOption

WithDependencies provides the TransactionBuilderOption for defining transaction dependencies

func WithFamilyName

func WithFamilyName(name string) TransactionBuilderOption

WithFamilyName provides the TransactionBuilderOption for defining transaction family name

func WithFamilyVersion

func WithFamilyVersion(version string) TransactionBuilderOption

WithFamilyVersion provides the TransactionBuilderOption for defining transaction family version

func WithInputs

func WithInputs(inputs []string) TransactionBuilderOption

WithInputs provides the TransactionBuilderOption for defining transaction input addresses

func WithNonce

func WithNonce(nonce string) TransactionBuilderOption

WithNonce provides the TransactionBuilderOption for defining transaction nonce

func WithOutputs

func WithOutputs(outputs []string) TransactionBuilderOption

WithOutputs provides the TransactionBuilderOption for defining transaction output addresses

func WithPayload

func WithPayload(payload []byte) TransactionBuilderOption

WithPayload provides the TransactionBuilderOption for defining transaction payload bytes

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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