Documentation ¶
Index ¶
- Constants
- func AssetIsValid(v string) bool
- func Hash(t1, t2 interface{}) string
- func HydrateLog(_type string, data string) (interface{}, error)
- func ParseAccountAddress(acc AccountAddress) error
- func ParseAsset(ass Asset) error
- func ParseMonetary(mon Monetary) error
- func RevertMetadataSpecKey() string
- func RevertedMetadataSpecKey() string
- func SpecMetadata(name string) string
- func ValidateAddress(addr string) bool
- func ValidatePortionSpecific(p Portion) error
- func ValueEquals(lhs, rhs Value) bool
- type Account
- type AccountAddress
- type AccountWithVolumes
- type Accounts
- type AccountsAssetsVolumes
- func (a *AccountsAssetsVolumes) AddInput(account, asset string, input *MonetaryInt)
- func (a *AccountsAssetsVolumes) AddOutput(account, asset string, output *MonetaryInt)
- func (a AccountsAssetsVolumes) GetVolumes(account, asset string) Volumes
- func (a AccountsAssetsVolumes) HasAccount(account string) bool
- func (a AccountsAssetsVolumes) HasAccountAndAsset(account, asset string) bool
- func (a *AccountsAssetsVolumes) Scan(value interface{}) error
- func (a *AccountsAssetsVolumes) SetVolumes(account, asset string, volumes Volumes)
- type AccountsBalances
- type AccountsMeta
- type AdditionalOperations
- type Address
- type Allotment
- type Asset
- type AssetsBalances
- type AssetsVolumes
- type ConstantExpr
- type Contract
- type EvalContext
- type ExpandedTransaction
- type Expr
- type ExprAnd
- type ExprEq
- type ExprGt
- type ExprGte
- type ExprLt
- type ExprLte
- type ExprOr
- type ExprValue
- type Funding
- func (f Funding) Concat(other Funding) (Funding, error)
- func (lhs Funding) Equals(rhs Funding) bool
- func (f Funding) GetAsset() Asset
- func (Funding) GetType() Type
- func (f Funding) Reverse() Funding
- func (f Funding) String() string
- func (f Funding) Take(amount *MonetaryInt) (Funding, Funding, error)
- func (f Funding) TakeMax(amount *MonetaryInt) (Funding, Funding)
- func (f Funding) Total() *MonetaryInt
- type FundingPart
- type HasAsset
- type Log
- type LogProcessor
- type Mapping
- type MetaExpr
- type Metadata
- type MigrationInfo
- type Monetary
- type MonetaryInt
- func (a *MonetaryInt) Add(b *MonetaryInt) *MonetaryInt
- func (a *MonetaryInt) Cmp(b *MonetaryInt) int
- func (a *MonetaryInt) Eq(b *MonetaryInt) bool
- func (a *MonetaryInt) Equal(b *MonetaryInt) bool
- func (MonetaryInt) GetType() Type
- func (a *MonetaryInt) Gt(b *MonetaryInt) bool
- func (a *MonetaryInt) Gte(b *MonetaryInt) bool
- func (a *MonetaryInt) Lt(b *MonetaryInt) bool
- func (a *MonetaryInt) Lte(b *MonetaryInt) bool
- func (a *MonetaryInt) Ltz() bool
- func (a *MonetaryInt) MarshalJSON() ([]byte, error)
- func (a *MonetaryInt) MarshalText() ([]byte, error)
- func (a *MonetaryInt) Neg() *MonetaryInt
- func (a *MonetaryInt) OrZero() *MonetaryInt
- func (a *MonetaryInt) String() string
- func (a *MonetaryInt) Sub(b *MonetaryInt) *MonetaryInt
- func (a *MonetaryInt) Uint64() uint64
- func (a *MonetaryInt) UnmarshalJSON(b []byte) error
- func (a *MonetaryInt) UnmarshalText(b []byte) error
- type Number
- type Portion
- type Posting
- type Postings
- type RevertedMetadataSpecValue
- type Script
- type ScriptData
- type SetMetadata
- type String
- type Transaction
- type TransactionData
- type Transactions
- type Type
- type Value
- type ValueJSON
- type VariableExpr
- type Volumes
- type VolumesWithBalance
Constants ¶
View Source
const ( MetaTargetTypeAccount = "ACCOUNT" MetaTargetTypeTransaction = "TRANSACTION" )
View Source
const ( TypeAccount = Type(iota + 1) // address of an account TypeAsset // name of an asset TypeNumber // 64bit unsigned integer TypeString // string TypeMonetary // [asset number] TypePortion // rational number between 0 and 1 both inclusive TypeAllotment // list of portions TypeAmount // either ALL or a SPECIFIC number TypeFunding // (asset, []{amount, account}) )
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 HydrateLog ¶ added in v1.3.2
func ParseAccountAddress ¶ added in v1.10.0
func ParseAccountAddress(acc AccountAddress) error
func ParseAsset ¶ added in v1.10.0
func ParseMonetary ¶ added in v1.10.0
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 ValidateAddress ¶
func ValidatePortionSpecific ¶ added in v1.10.0
func ValueEquals ¶ added in v1.10.0
Types ¶
type Account ¶
type Account struct { Address AccountAddress `json:"address" example:"users:001"` Metadata Metadata `json:"metadata" swaggertype:"object"` }
type AccountAddress ¶ added in v1.10.0
type AccountAddress string
func (AccountAddress) GetType ¶ added in v1.10.0
func (AccountAddress) GetType() Type
func (AccountAddress) String ¶ added in v1.10.0
func (a AccountAddress) String() string
type AccountWithVolumes ¶ added in v1.6.0
type AccountWithVolumes struct { Account Volumes AssetsVolumes `json:"volumes"` Balances AssetsBalances `json:"balances" example:"COIN:100"` }
func (AccountWithVolumes) Copy ¶ added in v1.10.6
func (v AccountWithVolumes) Copy() *AccountWithVolumes
type AccountsAssetsVolumes ¶ added in v1.6.0
type AccountsAssetsVolumes map[string]AssetsVolumes
func AggregatePostCommitVolumes ¶ added in v1.8.0
func AggregatePostCommitVolumes(txs ...ExpandedTransaction) AccountsAssetsVolumes
func AggregatePreCommitVolumes ¶ added in v1.9.0
func AggregatePreCommitVolumes(txs ...ExpandedTransaction) AccountsAssetsVolumes
func (*AccountsAssetsVolumes) AddInput ¶ added in v1.7.0
func (a *AccountsAssetsVolumes) AddInput(account, asset string, input *MonetaryInt)
func (*AccountsAssetsVolumes) AddOutput ¶ added in v1.7.0
func (a *AccountsAssetsVolumes) AddOutput(account, asset string, output *MonetaryInt)
func (AccountsAssetsVolumes) GetVolumes ¶ added in v1.7.0
func (a AccountsAssetsVolumes) GetVolumes(account, asset string) Volumes
func (AccountsAssetsVolumes) HasAccount ¶ added in v1.7.0
func (a AccountsAssetsVolumes) HasAccount(account string) bool
func (AccountsAssetsVolumes) HasAccountAndAsset ¶ added in v1.8.0
func (a AccountsAssetsVolumes) HasAccountAndAsset(account, asset string) bool
func (*AccountsAssetsVolumes) Scan ¶ added in v1.6.0
func (a *AccountsAssetsVolumes) Scan(value interface{}) error
Scan - Implement the database/sql scanner interface
func (*AccountsAssetsVolumes) SetVolumes ¶ added in v1.7.0
func (a *AccountsAssetsVolumes) SetVolumes(account, asset string, volumes Volumes)
type AccountsBalances ¶ added in v1.6.0
type AccountsBalances map[string]AssetsBalances
type AccountsMeta ¶ added in v1.9.0
type AdditionalOperations ¶ added in v1.9.0
type AdditionalOperations struct {
SetAccountMeta AccountsMeta `json:"set_account_meta,omitempty"`
}
type Address ¶ added in v1.10.0
type Address uint16
Address represents an address in the machine's resources, which include constants (literals) and variables passed to the program
func NewAddress ¶ added in v1.10.0
type Allotment ¶ added in v1.10.0
func NewAllotment ¶ added in v1.10.0
func (Allotment) Allocate ¶ added in v1.10.0
func (a Allotment) Allocate(amount *MonetaryInt) []*MonetaryInt
type AssetsBalances ¶ added in v1.6.0
type AssetsBalances map[string]*MonetaryInt
type AssetsVolumes ¶ added in v1.6.0
func (AssetsVolumes) Balances ¶ added in v1.6.0
func (v AssetsVolumes) Balances() AssetsBalances
type ConstantExpr ¶
type ConstantExpr struct {
Value interface{}
}
func (ConstantExpr) MarshalJSON ¶
func (e ConstantExpr) MarshalJSON() ([]byte, error)
type Contract ¶
type Contract struct { Name string `json:"name"` Account string `json:"account"` Expr Expr `json:"expr"` }
func (*Contract) UnmarshalJSON ¶
type EvalContext ¶
type ExpandedTransaction ¶ added in v1.8.0
type ExpandedTransaction struct { Transaction PreCommitVolumes AccountsAssetsVolumes `json:"preCommitVolumes,omitempty"` PostCommitVolumes AccountsAssetsVolumes `json:"postCommitVolumes,omitempty"` }
func (*ExpandedTransaction) AppendPosting ¶ added in v1.8.0
func (t *ExpandedTransaction) AppendPosting(p Posting)
func (*ExpandedTransaction) IsReverted ¶ added in v1.8.0
func (t *ExpandedTransaction) IsReverted() bool
func (ExpandedTransaction) MarshalJSON ¶ added in v1.8.0
func (t ExpandedTransaction) MarshalJSON() ([]byte, error)
type ExprAnd ¶
type ExprAnd []Expr
func (ExprAnd) Eval ¶
func (o ExprAnd) Eval(ctx EvalContext) bool
func (ExprAnd) MarshalJSON ¶
type ExprEq ¶
func (*ExprEq) Eval ¶
func (o *ExprEq) Eval(ctx EvalContext) bool
func (ExprEq) MarshalJSON ¶
type ExprGt ¶
func (*ExprGt) Eval ¶
func (o *ExprGt) Eval(ctx EvalContext) bool
func (ExprGt) MarshalJSON ¶
type ExprGte ¶
func (*ExprGte) Eval ¶
func (o *ExprGte) Eval(ctx EvalContext) bool
func (ExprGte) MarshalJSON ¶
type ExprLt ¶
func (*ExprLt) Eval ¶
func (o *ExprLt) Eval(ctx EvalContext) bool
func (ExprLt) MarshalJSON ¶
type ExprLte ¶
func (*ExprLte) Eval ¶
func (o *ExprLte) Eval(ctx EvalContext) bool
func (ExprLte) MarshalJSON ¶
type ExprOr ¶
type ExprOr []Expr
func (ExprOr) Eval ¶
func (o ExprOr) Eval(ctx EvalContext) bool
func (ExprOr) MarshalJSON ¶
type ExprValue ¶ added in v1.10.0
type ExprValue interface {
// contains filtered or unexported methods
}
type Funding ¶ added in v1.10.0
type Funding struct { Asset Asset Parts []FundingPart }
func (Funding) Take ¶ added in v1.10.0
func (f Funding) Take(amount *MonetaryInt) (Funding, Funding, error)
func (Funding) TakeMax ¶ added in v1.10.0
func (f Funding) TakeMax(amount *MonetaryInt) (Funding, Funding)
func (Funding) Total ¶ added in v1.10.0
func (f Funding) Total() *MonetaryInt
type FundingPart ¶ added in v1.10.0
type FundingPart struct { Amount *MonetaryInt Account AccountAddress }
func (FundingPart) Equals ¶ added in v1.10.0
func (lhs FundingPart) Equals(rhs FundingPart) bool
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, at time.Time, 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 LogProcessor ¶ added in v1.8.0
type LogProcessor struct { Transactions []*ExpandedTransaction Accounts Accounts Volumes AccountsAssetsVolumes }
func NewLogProcessor ¶ added in v1.8.0
func NewLogProcessor() *LogProcessor
func (*LogProcessor) ProcessNextLog ¶ added in v1.8.0
func (m *LogProcessor) ProcessNextLog(logs ...Log)
type Metadata ¶
func ComputeMetadata ¶ added in v1.3.2
func RevertMetadata ¶ added in v1.3.2
func RevertedMetadata ¶ added in v1.3.2
func (Metadata) ConvertValue ¶ added in v1.3.2
func (Metadata) IsEquivalentTo ¶ added in v1.6.0
IsEquivalentTo allow to compare to metadata object.
func (Metadata) IsReverted ¶
func (Metadata) MarkReverts ¶ added in v1.1.0
type MigrationInfo ¶ added in v1.9.0
type Monetary ¶ added in v1.10.0
type Monetary struct { Asset Asset `json:"asset"` Amount *MonetaryInt `json:"amount"` }
type MonetaryInt ¶ added in v1.8.0
func NewMonetaryInt ¶ added in v1.8.0
func NewMonetaryInt(i int64) *MonetaryInt
func ParseMonetaryInt ¶ added in v1.8.0
func ParseMonetaryInt(s string) (*MonetaryInt, error)
func (*MonetaryInt) Add ¶ added in v1.8.0
func (a *MonetaryInt) Add(b *MonetaryInt) *MonetaryInt
func (*MonetaryInt) Cmp ¶ added in v1.8.0
func (a *MonetaryInt) Cmp(b *MonetaryInt) int
func (*MonetaryInt) Eq ¶ added in v1.8.0
func (a *MonetaryInt) Eq(b *MonetaryInt) bool
func (*MonetaryInt) Equal ¶ added in v1.8.0
func (a *MonetaryInt) Equal(b *MonetaryInt) bool
func (MonetaryInt) GetType ¶ added in v1.10.0
func (MonetaryInt) GetType() Type
func (*MonetaryInt) Gt ¶ added in v1.8.0
func (a *MonetaryInt) Gt(b *MonetaryInt) bool
func (*MonetaryInt) Gte ¶ added in v1.8.0
func (a *MonetaryInt) Gte(b *MonetaryInt) bool
func (*MonetaryInt) Lt ¶ added in v1.8.0
func (a *MonetaryInt) Lt(b *MonetaryInt) bool
func (*MonetaryInt) Lte ¶ added in v1.8.0
func (a *MonetaryInt) Lte(b *MonetaryInt) bool
func (*MonetaryInt) Ltz ¶ added in v1.8.0
func (a *MonetaryInt) Ltz() bool
func (*MonetaryInt) MarshalJSON ¶ added in v1.8.0
func (a *MonetaryInt) MarshalJSON() ([]byte, error)
func (*MonetaryInt) MarshalText ¶ added in v1.8.0
func (a *MonetaryInt) MarshalText() ([]byte, error)
func (*MonetaryInt) Neg ¶ added in v1.8.0
func (a *MonetaryInt) Neg() *MonetaryInt
func (*MonetaryInt) OrZero ¶ added in v1.8.0
func (a *MonetaryInt) OrZero() *MonetaryInt
func (*MonetaryInt) String ¶ added in v1.8.0
func (a *MonetaryInt) String() string
func (*MonetaryInt) Sub ¶ added in v1.8.0
func (a *MonetaryInt) Sub(b *MonetaryInt) *MonetaryInt
func (*MonetaryInt) Uint64 ¶ added in v1.8.0
func (a *MonetaryInt) Uint64() uint64
func (*MonetaryInt) UnmarshalJSON ¶ added in v1.8.0
func (a *MonetaryInt) UnmarshalJSON(b []byte) error
func (*MonetaryInt) UnmarshalText ¶ added in v1.8.0
func (a *MonetaryInt) UnmarshalText(b []byte) error
type Portion ¶ added in v1.10.0
func NewPortionRemaining ¶ added in v1.10.0
func NewPortionRemaining() Portion
func ParsePortionSpecific ¶ added in v1.10.0
type Posting ¶
type Posting struct { Source string `json:"source"` Destination string `json:"destination"` Amount *MonetaryInt `json:"amount"` Asset string `json:"asset"` }
type Postings ¶
type Postings []Posting
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 ScriptData ¶ added in v1.9.0
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"` }
type TransactionData ¶
type TransactionData struct { Postings Postings `json:"postings"` Reference string `json:"reference"` Metadata Metadata `json:"metadata" swaggertype:"object"` Timestamp time.Time `json:"timestamp"` }
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"`
}
type Value ¶
type Value interface {
GetType() Type
}
func NewValueFromJSON ¶ added in v1.10.0
func NewValueFromJSON(typ Type, data json.RawMessage) (*Value, error)
func NewValueFromTypedJSON ¶ added in v1.10.0
func NewValueFromTypedJSON(rawInput json.RawMessage) (*Value, error)
type ValueJSON ¶ added in v1.10.0
type ValueJSON struct { Type string `json:"type"` Value json.RawMessage `json:"value"` }
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 struct { Input *MonetaryInt `json:"input"` Output *MonetaryInt `json:"output"` }
func (Volumes) Balance ¶ added in v1.6.0
func (v Volumes) Balance() *MonetaryInt
func (Volumes) MarshalJSON ¶ added in v1.6.0
type VolumesWithBalance ¶ added in v1.6.0
type VolumesWithBalance struct { Input *MonetaryInt `json:"input"` Output *MonetaryInt `json:"output"` Balance *MonetaryInt `json:"balance"` }
Click to show internal directories.
Click to hide internal directories.