core

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: May 6, 2022 License: MIT Imports: 11 Imported by: 4

Documentation

Index

Constants

View Source
const (
	MetaTargetTypeAccount     = "ACCOUNT"
	MetaTargetTypeTransaction = "TRANSACTION"
)
View Source
const NewTransactionType = "NEW_TRANSACTION"
View Source
const SetMetadataType = "SET_METADATA"
View Source
const (
	WORLD = "world"
)

Variables

This section is empty.

Functions

func AssetIsValid

func AssetIsValid(v string) bool

func CheckHash added in v1.3.2

func CheckHash(logs ...Log) (int, bool)

func Hash

func Hash(t1, t2 interface{}) string

func HydrateLog added in v1.3.2

func HydrateLog(_type string, data string) (interface{}, error)

func RevertMetadataSpecKey added in v1.3.2

func RevertMetadataSpecKey() string

func RevertedMetadataSpecKey added in v1.3.2

func RevertedMetadataSpecKey() string

func SpecMetadata added in v1.3.2

func SpecMetadata(name string) string

func ValidateAddress

func ValidateAddress(addr string) bool

Types

type Account

type Account struct {
	Address  string           `json:"address" example:"users:001"`
	Type     string           `json:"type,omitempty" example:"virtual"`
	Balances map[string]int64 `json:"balances,omitempty" example:"COIN:100"`
	Volumes  Volumes          `json:"volumes,omitempty"`
	Metadata Metadata         `json:"metadata" swaggertype:"object"`
}

type AggregatedVolumes added in v1.3.2

type AggregatedVolumes map[string]Volumes

type Balances added in v1.3.2

type Balances map[string]int64

type ConstantExpr

type ConstantExpr struct {
	Value interface{}
}

func (ConstantExpr) MarshalJSON

func (e ConstantExpr) MarshalJSON() ([]byte, error)

type Contract

type Contract struct {
	Expr    Expr   `json:"expr"`
	Account string `json:"account"`
}

func (Contract) Match

func (c Contract) Match(addr string) bool

func (*Contract) UnmarshalJSON

func (c *Contract) UnmarshalJSON(data []byte) error

type EvalContext

type EvalContext struct {
	Variables map[string]interface{}
	Metadata  Metadata
	Asset     string
}

type Expr

type Expr interface {
	Eval(EvalContext) bool
}

func ParseRule

func ParseRule(data string) (Expr, error)

func ParseRuleExpr

func ParseRuleExpr(v map[string]interface{}) (Expr, error)

type ExprAnd

type ExprAnd []Expr

func (ExprAnd) Eval

func (o ExprAnd) Eval(ctx EvalContext) bool

func (ExprAnd) MarshalJSON

func (e ExprAnd) MarshalJSON() ([]byte, error)

type ExprEq

type ExprEq struct {
	Op1 Value
	Op2 Value
}

func (*ExprEq) Eval

func (o *ExprEq) Eval(ctx EvalContext) bool

func (ExprEq) MarshalJSON

func (e ExprEq) MarshalJSON() ([]byte, error)

type ExprGt

type ExprGt struct {
	Op1 Value
	Op2 Value
}

func (*ExprGt) Eval

func (o *ExprGt) Eval(ctx EvalContext) bool

func (ExprGt) MarshalJSON

func (e ExprGt) MarshalJSON() ([]byte, error)

type ExprGte

type ExprGte struct {
	Op1 Value
	Op2 Value
}

func (*ExprGte) Eval

func (o *ExprGte) Eval(ctx EvalContext) bool

func (ExprGte) MarshalJSON

func (e ExprGte) MarshalJSON() ([]byte, error)

type ExprLt

type ExprLt struct {
	Op1 Value
	Op2 Value
}

func (*ExprLt) Eval

func (o *ExprLt) Eval(ctx EvalContext) bool

func (ExprLt) MarshalJSON

func (e ExprLt) MarshalJSON() ([]byte, error)

type ExprLte

type ExprLte struct {
	Op1 Value
	Op2 Value
}

func (*ExprLte) Eval

func (o *ExprLte) Eval(ctx EvalContext) bool

func (ExprLte) MarshalJSON

func (e ExprLte) MarshalJSON() ([]byte, error)

type ExprOr

type ExprOr []Expr

func (ExprOr) Eval

func (o ExprOr) Eval(ctx EvalContext) bool

func (ExprOr) MarshalJSON

func (e ExprOr) MarshalJSON() ([]byte, error)

type Log added in v1.3.2

type Log struct {
	ID   uint64      `json:"id"`
	Type string      `json:"type"`
	Data interface{} `json:"data"`
	Hash string      `json:"hash"`
	Date time.Time   `json:"date"`
}

func NewSetMetadataLog added in v1.3.2

func NewSetMetadataLog(previousLog *Log, metadata SetMetadata) Log

func NewTransactionLog added in v1.3.2

func NewTransactionLog(previousLog *Log, tx Transaction) Log

func NewTransactionLogWithDate added in v1.3.2

func NewTransactionLogWithDate(previousLog *Log, tx Transaction, time time.Time) Log

type Mapping

type Mapping struct {
	Contracts []Contract `json:"contracts"`
}

type MetaExpr

type MetaExpr struct {
	Name string
}

func (MetaExpr) MarshalJSON

func (e MetaExpr) MarshalJSON() ([]byte, error)

type Metadata

type Metadata map[string]json.RawMessage

func ComputeMetadata added in v1.3.2

func ComputeMetadata(key string, value interface{}) Metadata

func RevertMetadata added in v1.3.2

func RevertMetadata(tx uint64) Metadata

func RevertedMetadata added in v1.3.2

func RevertedMetadata(by uint64) Metadata

func (Metadata) ConvertValue added in v1.3.2

func (m Metadata) ConvertValue(v interface{}) (driver.Value, error)

func (Metadata) IsReverted

func (m Metadata) IsReverted() bool

func (Metadata) MarkReverts added in v1.1.0

func (m Metadata) MarkReverts(txID uint64)

func (Metadata) Merge added in v1.3.2

func (m1 Metadata) Merge(m2 Metadata) Metadata

func (*Metadata) Scan added in v1.3.2

func (m *Metadata) Scan(value interface{}) error

Scan - Implement the database/sql scanner interface

type Posting

type Posting struct {
	Source      string `json:"source"`
	Destination string `json:"destination"`
	Amount      int64  `json:"amount"`
	Asset       string `json:"asset"`
}

type Postings

type Postings []Posting

func (Postings) Reverse

func (ps Postings) Reverse()

func (*Postings) Scan added in v1.3.2

func (p *Postings) Scan(value interface{}) error

Scan - Implement the database/sql scanner interface

type RevertedMetadataSpecValue added in v1.3.2

type RevertedMetadataSpecValue struct {
	By string `json:"by"`
}

type Script

type Script struct {
	Plain string                     `json:"plain"`
	Vars  map[string]json.RawMessage `json:"vars" swaggertype:"object"`
}

type SetMetadata added in v1.3.2

type SetMetadata struct {
	TargetType string      `json:"targetType"`
	TargetID   interface{} `json:"targetId"`
	Metadata   Metadata    `json:"metadata"`
}

func (*SetMetadata) UnmarshalJSON added in v1.3.2

func (s *SetMetadata) UnmarshalJSON(data []byte) error

type Transaction

type Transaction struct {
	TransactionData
	ID        uint64 `json:"txid"`
	Timestamp string `json:"timestamp"`
}

func (*Transaction) AppendPosting

func (t *Transaction) AppendPosting(p Posting)

type TransactionData

type TransactionData struct {
	Postings  Postings `json:"postings"`
	Reference string   `json:"reference"`
	Metadata  Metadata `json:"metadata" swaggertype:"object"`
}

func (*TransactionData) Reverse added in v1.3.2

func (t *TransactionData) Reverse() TransactionData

type Transactions

type Transactions struct {
	Transactions []TransactionData `json:"transactions" binding:"required,dive"`
}

Transactions struct

type Value

type Value interface {
	// contains filtered or unexported methods
}

type VariableExpr

type VariableExpr struct {
	Name string
}

func (VariableExpr) MarshalJSON

func (e VariableExpr) MarshalJSON() ([]byte, error)

type Volumes added in v1.3.2

type Volumes map[string]map[string]int64

func (Volumes) Balances added in v1.3.2

func (v Volumes) Balances() Balances

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳