value

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2020 License: Apache-2.0, BSD-2-Clause Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const PluginName = "WebAPI Value Endpoint"

PluginName is the name of the web API DRNG endpoint plugin.

Variables

View Source
var (

	// ErrMalformedInputs defines a malformed inputs error.
	ErrMalformedInputs = fmt.Errorf("malformed inputs")
	// ErrMalformedOutputs defines a malformed outputs error.
	ErrMalformedOutputs = fmt.Errorf("malformed outputs")
	// ErrMalformedData defines a malformed data error.
	ErrMalformedData = fmt.Errorf("malformed data")
	// ErrMalformedColor defines a malformed color error.
	ErrMalformedColor = fmt.Errorf("malformed color")
	// ErrMalformedPublicKey defines a malformed publicKey error.
	ErrMalformedPublicKey = fmt.Errorf("malformed publicKey")
	// ErrMalformedSignature defines a malformed signature error.
	ErrMalformedSignature = fmt.Errorf("malformed signature")
	// ErrWrongSignature defines a wrong signature error.
	ErrWrongSignature = fmt.Errorf("wrong signature")
	// ErrSignatureVersion defines a unsupported signature version error.
	ErrSignatureVersion = fmt.Errorf("unsupported signature version")
)

Functions

func NewTransactionFromJSON added in v0.3.0

func NewTransactionFromJSON(request SendTransactionByJSONRequest) (*transaction.Transaction, error)

NewTransactionFromJSON returns a new transaction from a given JSON request or an error.

func Plugin

func Plugin() *node.Plugin

Plugin gets the plugin instance.

Types

type AttachmentsResponse added in v0.3.0

type AttachmentsResponse struct {
	Attachments []ValueObject `json:"attachments,omitempty"`
	Error       string        `json:"error,omitempty"`
}

AttachmentsResponse is the HTTP response from retrieving value objects.

type Balance added in v0.3.0

type Balance struct {
	Value int64  `json:"value"`
	Color string `json:"color"`
}

Balance holds the value and the color of token

type GetTransactionByIDResponse added in v0.3.0

type GetTransactionByIDResponse struct {
	Transaction    Transaction    `json:"transaction,omitempty"`
	InclusionState InclusionState `json:"inclusion_state,omitempty"`
	Error          string         `json:"error,omitempty"`
}

GetTransactionByIDResponse is the HTTP response from retrieving transaction.

type InclusionState added in v0.3.0

type InclusionState struct {
	Solid       bool `json:"solid,omitempty"`
	Confirmed   bool `json:"confirmed,omitempty"`
	Rejected    bool `json:"rejected,omitempty"`
	Liked       bool `json:"liked,omitempty"`
	Conflicting bool `json:"conflicting,omitempty"`
	Finalized   bool `json:"finalized,omitempty"`
	Preferred   bool `json:"preferred,omitempty"`
}

InclusionState represents the different states of an OutputID

type Output added in v0.3.0

type Output struct {
	Address  string    `json:"address"`
	Balances []Balance `json:"balances"`
}

Output consists an address and balances

type OutputID added in v0.3.0

type OutputID struct {
	ID             string         `json:"id"`
	Balances       []Balance      `json:"balances"`
	InclusionState InclusionState `json:"inclusion_state"`
}

OutputID holds the output id and its inclusion state

type SendTransactionByJSONRequest added in v0.3.0

type SendTransactionByJSONRequest struct {
	Inputs     []string    `json:"inputs"`
	Outputs    []Output    `json:"outputs"`
	Data       []byte      `json:"data,omitempty"`
	Signatures []Signature `json:"signatures"`
}

SendTransactionByJSONRequest holds the transaction object(json) to send. e.g.,

{
	"inputs": string[],
	"outputs": {
	   "address": string,
	   "balances": {
		   "value": number,
		   "color": string
	   }[];
	 }[],
	 "data": []byte,
	 "signatures": {
		"version": number,
		"publicKey": string,
		"signature": string
	   }[]
 }

type SendTransactionByJSONResponse added in v0.3.0

type SendTransactionByJSONResponse struct {
	TransactionID string `json:"transaction_id,omitempty"`
	Error         string `json:"error,omitempty"`
}

SendTransactionByJSONResponse is the HTTP response from sending transaction.

type SendTransactionRequest added in v0.3.0

type SendTransactionRequest struct {
	TransactionBytes []byte `json:"txn_bytes"`
}

SendTransactionRequest holds the transaction object(bytes) to send.

type SendTransactionResponse added in v0.3.0

type SendTransactionResponse struct {
	TransactionID string `json:"transaction_id,omitempty"`
	Error         string `json:"error,omitempty"`
}

SendTransactionResponse is the HTTP response from sending transaction.

type Signature added in v0.3.0

type Signature struct {
	Version   byte   `json:"version"`
	PublicKey string `json:"publicKey"`
	Signature string `json:"signature"`
}

Signature defines the struct of a signature.

type Transaction added in v0.3.0

type Transaction struct {
	Inputs      []string `json:"inputs"`
	Outputs     []Output `json:"outputs"`
	Signature   []byte   `json:"signature"`
	DataPayload []byte   `json:"data_payload"`
}

Transaction holds the information of a transaction.

func ParseTransaction added in v0.3.0

func ParseTransaction(t *transaction.Transaction) (txn Transaction)

ParseTransaction handle transaction json object.

type UnspentOutput added in v0.3.0

type UnspentOutput struct {
	Address   string     `json:"address"`
	OutputIDs []OutputID `json:"output_ids"`
}

UnspentOutput holds the address and the corresponding unspent output ids

type UnspentOutputsRequest added in v0.3.0

type UnspentOutputsRequest struct {
	Addresses []string `json:"addresses,omitempty"`
	Error     string   `json:"error,omitempty"`
}

UnspentOutputsRequest holds the addresses to query.

type UnspentOutputsResponse added in v0.3.0

type UnspentOutputsResponse struct {
	UnspentOutputs []UnspentOutput `json:"unspent_outputs,omitempty"`
	Error          string          `json:"error,omitempty"`
}

UnspentOutputsResponse is the HTTP response from retrieving value objects.

type ValueObject added in v0.3.0

type ValueObject struct {
	ID          string      `json:"id"`
	Parent1ID   string      `json:"parent1_id"`
	Parent2ID   string      `json:"parent2_id"`
	Transaction Transaction `json:"transaction"`
}

ValueObject holds the information of a value object.

Jump to

Keyboard shortcuts

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