currency

package
v3.0.0-alpha.0...-e5a6d49 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: GPL-3.0 Imports: 17 Imported by: 11

Documentation

Overview

Package operation provides the currency operations.

Index

Constants

This section is empty.

Variables

View Source
var (
	CreateAccountFactHint = hint.MustNewHint("mitum-currency-create-account-operation-fact-v0.0.1")
	CreateAccountHint     = hint.MustNewHint("mitum-currency-create-account-operation-v0.0.1")
)
View Source
var (
	MintFactHint = hint.MustNewHint("mitum-currency-mint-operation-fact-v0.0.1")
	MintHint     = hint.MustNewHint("mitum-currency-mint-operation-v0.0.1")
)
View Source
var (
	RegisterCurrencyFactHint = hint.MustNewHint("mitum-currency-register-currency-operation-fact-v0.0.1")
	RegisterCurrencyHint     = hint.MustNewHint("mitum-currency-register-currency-operation-v0.0.1")
)
View Source
var (
	RegisterGenesisCurrencyFactHint = hint.MustNewHint("mitum-currency-register-genesis-currency-operation-fact-v0.0.1")
	RegisterGenesisCurrencyHint     = hint.MustNewHint("mitum-currency-register-genesis-currency-operation-v0.0.1")
)
View Source
var (
	TransferFactHint = hint.MustNewHint("mitum-currency-transfer-operation-fact-v0.0.1")
	TransferHint     = hint.MustNewHint("mitum-currency-transfer-operation-v0.0.1")
)
View Source
var (
	UpdateCurrencyFactHint = hint.MustNewHint("mitum-currency-update-currency-operation-fact-v0.0.1")
	UpdateCurrencyHint     = hint.MustNewHint("mitum-currency-update-currency-operation-v0.0.1")
)
View Source
var (
	UpdateKeyFactHint = hint.MustNewHint("mitum-currency-update-key-operation-fact-v0.0.1")
	UpdateKeyHint     = hint.MustNewHint("mitum-currency-update-key-operation-v0.0.1")
)
View Source
var (
	CreateAccountItemMultiAmountsHint = hint.MustNewHint("mitum-currency-create-account-multiple-amounts-v0.0.1")
)
View Source
var (
	CreateAccountItemSingleAmountHint = hint.MustNewHint("mitum-currency-create-account-single-amount-v0.0.1")
)
View Source
var MaxCreateAccountItems uint = 10000
View Source
var MaxTransferItems uint = 10
View Source
var (
	MintItemHint = hint.MustNewHint("mitum-currency-mint-item-v0.0.1")
)
View Source
var (
	TransferItemMultiAmountsHint = hint.MustNewHint("mitum-currency-transfer-item-multi-amounts-v0.0.1")
)
View Source
var (
	TransferItemSingleAmountHint = hint.MustNewHint("mitum-currency-transfer-item-single-amount-v0.0.1")
)

Functions

func CalculateItemsFee

func CalculateItemsFee(getStateFunc base.GetStateFunc, items []AmountsItem) (
	map[types.CurrencyID]base.State, map[types.CurrencyID][2]common.Big, error)

func CheckEnoughBalance

func CheckEnoughBalance(
	holder base.Address,
	required map[types.CurrencyID][2]common.Big,
	getStateFunc base.GetStateFunc,
) (map[types.CurrencyID]base.State, error)

func NewCreateAccountProcessor

func NewCreateAccountProcessor() types.GetNewProcessor

func NewMintProcessor

func NewMintProcessor(threshold base.Threshold) types.GetNewProcessor

func NewRegisterCurrencyProcessor

func NewRegisterCurrencyProcessor(threshold base.Threshold) types.GetNewProcessor

func NewTransferProcessor

func NewTransferProcessor() types.GetNewProcessor

func NewUpdateCurrencyProcessor

func NewUpdateCurrencyProcessor(threshold base.Threshold) types.GetNewProcessor

func NewUpdateKeyProcessor

func NewUpdateKeyProcessor() types.GetNewProcessor

Types

type AmountsItem

type AmountsItem interface {
	Amounts() []types.Amount
}

type BaseCreateAccountItem

type BaseCreateAccountItem struct {
	hint.BaseHinter
	// contains filtered or unexported fields
}

func NewBaseCreateAccountItem

func NewBaseCreateAccountItem(ht hint.Hint, keys types.AccountKeys, amounts []types.Amount, addrHint hint.Type) BaseCreateAccountItem

func (BaseCreateAccountItem) Address

func (it BaseCreateAccountItem) Address() (base.Address, error)

func (BaseCreateAccountItem) AddressType

func (it BaseCreateAccountItem) AddressType() hint.Type

func (BaseCreateAccountItem) Amounts

func (it BaseCreateAccountItem) Amounts() []types.Amount

func (BaseCreateAccountItem) Bytes

func (it BaseCreateAccountItem) Bytes() []byte

func (*BaseCreateAccountItem) DecodeBSON

func (it *BaseCreateAccountItem) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*BaseCreateAccountItem) DecodeJSON

func (it *BaseCreateAccountItem) DecodeJSON(b []byte, enc encoder.Encoder) error

func (BaseCreateAccountItem) IsValid

func (it BaseCreateAccountItem) IsValid([]byte) error

func (BaseCreateAccountItem) Keys

func (BaseCreateAccountItem) MarshalBSON

func (it BaseCreateAccountItem) MarshalBSON() ([]byte, error)

func (BaseCreateAccountItem) MarshalJSON

func (it BaseCreateAccountItem) MarshalJSON() ([]byte, error)

func (BaseCreateAccountItem) Rebuild

type BaseOperationMarshaler

type BaseOperationMarshaler struct {
	common.BaseOperationJSONMarshaler
}

type BaseTransferItem

type BaseTransferItem struct {
	hint.BaseHinter
	// contains filtered or unexported fields
}

func NewBaseTransferItem

func NewBaseTransferItem(ht hint.Hint, receiver base.Address, amounts []types.Amount) BaseTransferItem

func (BaseTransferItem) Amounts

func (it BaseTransferItem) Amounts() []types.Amount

func (BaseTransferItem) Bytes

func (it BaseTransferItem) Bytes() []byte

func (*BaseTransferItem) DecodeBSON

func (it *BaseTransferItem) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*BaseTransferItem) DecodeJSON

func (it *BaseTransferItem) DecodeJSON(b []byte, enc encoder.Encoder) error

func (BaseTransferItem) IsValid

func (it BaseTransferItem) IsValid([]byte) error

func (BaseTransferItem) MarshalBSON

func (it BaseTransferItem) MarshalBSON() ([]byte, error)

func (BaseTransferItem) MarshalJSON

func (it BaseTransferItem) MarshalJSON() ([]byte, error)

func (BaseTransferItem) Rebuild

func (it BaseTransferItem) Rebuild() TransferItem

func (BaseTransferItem) Receiver

func (it BaseTransferItem) Receiver() base.Address

type BaseTransferItemJSONUnpacker

type BaseTransferItemJSONUnpacker struct {
	Hint     hint.Hint       `json:"_hint"`
	Receiver string          `json:"receiver"`
	Amounts  json.RawMessage `json:"amounts"`
}

type CreateAccount

type CreateAccount struct {
	common.BaseOperation
}

func NewCreateAccount

func NewCreateAccount(fact CreateAccountFact) (CreateAccount, error)

func (*CreateAccount) DecodeBSON

func (op *CreateAccount) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*CreateAccount) DecodeJSON

func (op *CreateAccount) DecodeJSON(b []byte, enc encoder.Encoder) error

func (*CreateAccount) HashSign

func (op *CreateAccount) HashSign(priv base.Privatekey, networkID base.NetworkID) error

func (CreateAccount) MarshalBSON

func (op CreateAccount) MarshalBSON() ([]byte, error)

func (CreateAccount) MarshalJSON

func (op CreateAccount) MarshalJSON() ([]byte, error)

type CreateAccountFact

type CreateAccountFact struct {
	base.BaseFact
	// contains filtered or unexported fields
}

func NewCreateAccountFact

func NewCreateAccountFact(
	token []byte,
	sender base.Address,
	items []CreateAccountItem,
) CreateAccountFact

func (CreateAccountFact) Addresses

func (fact CreateAccountFact) Addresses() ([]base.Address, error)

func (CreateAccountFact) Bytes

func (fact CreateAccountFact) Bytes() []byte

func (*CreateAccountFact) DecodeBSON

func (fact *CreateAccountFact) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*CreateAccountFact) DecodeJSON

func (fact *CreateAccountFact) DecodeJSON(b []byte, enc encoder.Encoder) error

func (CreateAccountFact) GenerateHash

func (fact CreateAccountFact) GenerateHash() util.Hash

func (CreateAccountFact) Hash

func (fact CreateAccountFact) Hash() util.Hash

func (CreateAccountFact) IsValid

func (fact CreateAccountFact) IsValid(b []byte) error

func (CreateAccountFact) Items

func (fact CreateAccountFact) Items() []CreateAccountItem

func (CreateAccountFact) MarshalBSON

func (fact CreateAccountFact) MarshalBSON() ([]byte, error)

func (CreateAccountFact) MarshalJSON

func (fact CreateAccountFact) MarshalJSON() ([]byte, error)

func (CreateAccountFact) Rebuild

func (fact CreateAccountFact) Rebuild() CreateAccountFact

func (CreateAccountFact) Sender

func (fact CreateAccountFact) Sender() base.Address

func (CreateAccountFact) Targets

func (fact CreateAccountFact) Targets() ([]base.Address, error)

func (CreateAccountFact) Token

func (fact CreateAccountFact) Token() base.Token

type CreateAccountFactBSONUnmarshaler

type CreateAccountFactBSONUnmarshaler struct {
	Hint   string   `bson:"_hint"`
	Sender string   `bson:"sender"`
	Items  bson.Raw `bson:"items"`
}

type CreateAccountFactJSONMarshaler

type CreateAccountFactJSONMarshaler struct {
	base.BaseFactJSONMarshaler
	Sender base.Address        `json:"sender"`
	Items  []CreateAccountItem `json:"items"`
}

type CreateAccountFactJSONUnMarshaler

type CreateAccountFactJSONUnMarshaler struct {
	base.BaseFactJSONUnmarshaler
	Sender string          `json:"sender"`
	Items  json.RawMessage `json:"items"`
}

type CreateAccountItem

type CreateAccountItem interface {
	hint.Hinter
	util.IsValider
	AmountsItem
	Bytes() []byte
	Keys() types.AccountKeys
	Address() (base.Address, error)
	Rebuild() CreateAccountItem
	AddressType() hint.Type
}

type CreateAccountItemBSONUnmarshaler

type CreateAccountItemBSONUnmarshaler struct {
	Hint     string   `bson:"_hint"`
	Keys     bson.Raw `bson:"keys"`
	Amount   bson.Raw `bson:"amounts"`
	AddrType string   `bson:"addrtype"`
}

type CreateAccountItemJSONMarshaler

type CreateAccountItemJSONMarshaler struct {
	hint.BaseHinter
	Keys     types.AccountKeys `json:"keys"`
	Amounts  []types.Amount    `json:"amounts"`
	AddrType hint.Type         `json:"addrtype"`
}

type CreateAccountItemJSONUnMarshaler

type CreateAccountItemJSONUnMarshaler struct {
	Hint     hint.Hint       `json:"_hint"`
	Keys     json.RawMessage `json:"keys"`
	Amounts  json.RawMessage `json:"amounts"`
	AddrType string          `json:"addrtype"`
}

type CreateAccountItemMultiAmounts

type CreateAccountItemMultiAmounts struct {
	BaseCreateAccountItem
}

func NewCreateAccountItemMultiAmounts

func NewCreateAccountItemMultiAmounts(keys types.AccountKeys, amounts []types.Amount, addrType hint.Type) CreateAccountItemMultiAmounts

func (CreateAccountItemMultiAmounts) IsValid

func (CreateAccountItemMultiAmounts) Rebuild

type CreateAccountItemProcessor

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

func (*CreateAccountItemProcessor) Close

func (opp *CreateAccountItemProcessor) Close()

func (*CreateAccountItemProcessor) PreProcess

func (opp *CreateAccountItemProcessor) PreProcess(
	_ context.Context, _ base.Operation, getStateFunc base.GetStateFunc,
) error

func (*CreateAccountItemProcessor) Process

type CreateAccountItemSingleAmount

type CreateAccountItemSingleAmount struct {
	BaseCreateAccountItem
}

func NewCreateAccountItemSingleAmount

func NewCreateAccountItemSingleAmount(keys types.AccountKeys, amount types.Amount, addrType hint.Type) CreateAccountItemSingleAmount

func (CreateAccountItemSingleAmount) IsValid

func (CreateAccountItemSingleAmount) Rebuild

type CreateAccountProcessor

type CreateAccountProcessor struct {
	*base.BaseOperationProcessor
	// contains filtered or unexported fields
}

func (*CreateAccountProcessor) Close

func (opp *CreateAccountProcessor) Close() error

func (*CreateAccountProcessor) PreProcess

func (*CreateAccountProcessor) Process

type Mint

type Mint struct {
	common.BaseNodeOperation
}

func NewMint

func NewMint(
	fact MintFact,
) (Mint, error)

func (*Mint) DecodeBSON

func (op *Mint) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*Mint) DecodeJSON

func (op *Mint) DecodeJSON(b []byte, enc encoder.Encoder) error

type MintFact

type MintFact struct {
	base.BaseFact
	// contains filtered or unexported fields
}

func NewMintFact

func NewMintFact(token []byte, items []MintItem) MintFact

func (MintFact) Bytes

func (fact MintFact) Bytes() []byte

func (*MintFact) DecodeBSON

func (fact *MintFact) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*MintFact) DecodeJSON

func (fact *MintFact) DecodeJSON(b []byte, enc encoder.Encoder) error

func (MintFact) GenerateHash

func (fact MintFact) GenerateHash() util.Hash

func (MintFact) Hash

func (fact MintFact) Hash() util.Hash

func (MintFact) IsValid

func (fact MintFact) IsValid(b []byte) error

func (MintFact) Items

func (fact MintFact) Items() []MintItem

func (MintFact) MarshalBSON

func (fact MintFact) MarshalBSON() ([]byte, error)

func (MintFact) MarshalJSON

func (fact MintFact) MarshalJSON() ([]byte, error)

func (MintFact) Token

func (fact MintFact) Token() base.Token

type MintFactBSONUnmarshaler

type MintFactBSONUnmarshaler struct {
	Hint  string     `bson:"_hint"`
	Items []bson.Raw `bson:"items"`
}

type MintFactJSONMarshaler

type MintFactJSONMarshaler struct {
	base.BaseFactJSONMarshaler
	Items []MintItem `json:"items"`
}

type MintFactJSONUnmarshaler

type MintFactJSONUnmarshaler struct {
	base.BaseFactJSONUnmarshaler
	Items []json.RawMessage `json:"items"`
}

type MintItem

type MintItem struct {
	hint.BaseHinter
	// contains filtered or unexported fields
}

func NewMintItem

func NewMintItem(receiver base.Address, amount types.Amount) MintItem

func (MintItem) Amount

func (it MintItem) Amount() types.Amount

func (MintItem) Bytes

func (it MintItem) Bytes() []byte

func (MintItem) Currency

func (it MintItem) Currency() types.CurrencyID

func (*MintItem) DecodeBSON

func (it *MintItem) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*MintItem) DecodeJSON

func (it *MintItem) DecodeJSON(b []byte, enc encoder.Encoder) error

func (MintItem) IsValid

func (it MintItem) IsValid([]byte) error

func (MintItem) MarshalBSON

func (it MintItem) MarshalBSON() ([]byte, error)

func (MintItem) MarshalJSON

func (it MintItem) MarshalJSON() ([]byte, error)

func (MintItem) Receiver

func (it MintItem) Receiver() base.Address

type MintItemBSONUnmarshaler

type MintItemBSONUnmarshaler struct {
	Hint     string   `bson:"_hint"`
	Receiver string   `bson:"receiver"`
	Amount   bson.Raw `bson:"amount"`
}

type MintItemJSONMarshaler

type MintItemJSONMarshaler struct {
	hint.BaseHinter
	Receiver base.Address `json:"receiver"`
	Amount   types.Amount `json:"amount"`
}

type MintItemJSONUnmarshaler

type MintItemJSONUnmarshaler struct {
	HT       hint.Hint       `json:"_hint"`
	Receiver string          `json:"receiver"`
	Amount   json.RawMessage `json:"amount"`
}

type MintProcessor

type MintProcessor struct {
	*base.BaseOperationProcessor
	// contains filtered or unexported fields
}

func (*MintProcessor) Close

func (opp *MintProcessor) Close() error

func (*MintProcessor) PreProcess

func (*MintProcessor) Process

type RegisterCurrency

type RegisterCurrency struct {
	common.BaseNodeOperation
}

func NewRegisterCurrency

func NewRegisterCurrency(fact RegisterCurrencyFact, memo string) (RegisterCurrency, error)

func (*RegisterCurrency) DecodeBSON

func (op *RegisterCurrency) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*RegisterCurrency) DecodeJSON

func (op *RegisterCurrency) DecodeJSON(b []byte, enc encoder.Encoder) error

func (RegisterCurrency) MarshalBSON

func (op RegisterCurrency) MarshalBSON() ([]byte, error)

func (RegisterCurrency) MarshalJSON

func (op RegisterCurrency) MarshalJSON() ([]byte, error)

type RegisterCurrencyFact

type RegisterCurrencyFact struct {
	base.BaseFact
	// contains filtered or unexported fields
}

func NewRegisterCurrencyFact

func NewRegisterCurrencyFact(token []byte, de types.CurrencyDesign) RegisterCurrencyFact

func (RegisterCurrencyFact) Bytes

func (fact RegisterCurrencyFact) Bytes() []byte

func (RegisterCurrencyFact) Currency

func (fact RegisterCurrencyFact) Currency() types.CurrencyDesign

func (*RegisterCurrencyFact) DecodeBSON

func (fact *RegisterCurrencyFact) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*RegisterCurrencyFact) DecodeJSON

func (fact *RegisterCurrencyFact) DecodeJSON(b []byte, enc encoder.Encoder) error

func (RegisterCurrencyFact) GenerateHash

func (fact RegisterCurrencyFact) GenerateHash() util.Hash

func (RegisterCurrencyFact) Hash

func (fact RegisterCurrencyFact) Hash() util.Hash

func (RegisterCurrencyFact) IsValid

func (fact RegisterCurrencyFact) IsValid(b []byte) error

func (RegisterCurrencyFact) MarshalBSON

func (fact RegisterCurrencyFact) MarshalBSON() ([]byte, error)

func (RegisterCurrencyFact) MarshalJSON

func (fact RegisterCurrencyFact) MarshalJSON() ([]byte, error)

func (RegisterCurrencyFact) Token

func (fact RegisterCurrencyFact) Token() base.Token

type RegisterCurrencyFactBSONUnmarshaler

type RegisterCurrencyFactBSONUnmarshaler struct {
	Hint     string   `bson:"_hint"`
	Currency bson.Raw `bson:"currency"`
}

type RegisterCurrencyFactJSONMarshaler

type RegisterCurrencyFactJSONMarshaler struct {
	base.BaseFactJSONMarshaler
	Currency types.CurrencyDesign `json:"currency"`
}

type RegisterCurrencyFactJSONUnMarshaler

type RegisterCurrencyFactJSONUnMarshaler struct {
	base.BaseFactJSONUnmarshaler
	Currency json.RawMessage `json:"currency"`
}

type RegisterCurrencyProcessor

type RegisterCurrencyProcessor struct {
	*base.BaseOperationProcessor
	// contains filtered or unexported fields
}

func (*RegisterCurrencyProcessor) Close

func (opp *RegisterCurrencyProcessor) Close() error

func (*RegisterCurrencyProcessor) PreProcess

func (*RegisterCurrencyProcessor) Process

type RegisterGenesisCurrency

type RegisterGenesisCurrency struct {
	common.BaseOperation
}

func (*RegisterGenesisCurrency) DecodeBSON

func (op *RegisterGenesisCurrency) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (RegisterGenesisCurrency) IsValid

func (op RegisterGenesisCurrency) IsValid(networkID []byte) error

func (RegisterGenesisCurrency) MarshalBSON

func (op RegisterGenesisCurrency) MarshalBSON() ([]byte, error)

func (RegisterGenesisCurrency) MarshalJSON

func (op RegisterGenesisCurrency) MarshalJSON() ([]byte, error)

func (RegisterGenesisCurrency) PreProcess

func (RegisterGenesisCurrency) Process

type RegisterGenesisCurrencyFact

type RegisterGenesisCurrencyFact struct {
	base.BaseFact
	// contains filtered or unexported fields
}

func NewRegisterGenesisCurrencyFact

func NewRegisterGenesisCurrencyFact(
	token []byte,
	genesisNodeKey base.Publickey,
	keys types.AccountKeys,
	cs []types.CurrencyDesign,
) RegisterGenesisCurrencyFact

func (RegisterGenesisCurrencyFact) Address

func (fact RegisterGenesisCurrencyFact) Address() (base.Address, error)

func (RegisterGenesisCurrencyFact) Bytes

func (fact RegisterGenesisCurrencyFact) Bytes() []byte

func (RegisterGenesisCurrencyFact) Currencies

func (fact RegisterGenesisCurrencyFact) Currencies() []types.CurrencyDesign

func (*RegisterGenesisCurrencyFact) DecodeBSON

func (fact *RegisterGenesisCurrencyFact) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*RegisterGenesisCurrencyFact) DecodeJSON

func (fact *RegisterGenesisCurrencyFact) DecodeJSON(b []byte, enc encoder.Encoder) error

func (RegisterGenesisCurrencyFact) GenerateHash

func (fact RegisterGenesisCurrencyFact) GenerateHash() util.Hash

func (RegisterGenesisCurrencyFact) GenesisNodeKey

func (fact RegisterGenesisCurrencyFact) GenesisNodeKey() base.Publickey

func (RegisterGenesisCurrencyFact) Hash

func (RegisterGenesisCurrencyFact) IsValid

func (fact RegisterGenesisCurrencyFact) IsValid(b []byte) error

func (RegisterGenesisCurrencyFact) Keys

func (RegisterGenesisCurrencyFact) MarshalBSON

func (fact RegisterGenesisCurrencyFact) MarshalBSON() ([]byte, error)

func (RegisterGenesisCurrencyFact) MarshalJSON

func (fact RegisterGenesisCurrencyFact) MarshalJSON() ([]byte, error)

func (RegisterGenesisCurrencyFact) Token

func (fact RegisterGenesisCurrencyFact) Token() base.Token

type RegisterGenesisCurrencyFactBSONUnMarshaler

type RegisterGenesisCurrencyFactBSONUnMarshaler struct {
	Hint           string   `bson:"_hint"`
	GenesisNodeKey string   `bson:"genesis_node_key"`
	Keys           bson.Raw `bson:"keys"`
	Currencies     bson.Raw `bson:"currencies"`
}

type RegisterGenesisCurrencyFactJSONMarshaler

type RegisterGenesisCurrencyFactJSONMarshaler struct {
	base.BaseFactJSONMarshaler
	GenesisNodeKey base.Publickey         `json:"genesis_node_key"`
	Keys           types.AccountKeys      `json:"keys"`
	Currencies     []types.CurrencyDesign `json:"currencies"`
}

type RegisterGenesisCurrencyFactJSONUnMarshaler

type RegisterGenesisCurrencyFactJSONUnMarshaler struct {
	base.BaseFactJSONUnmarshaler
	GenesisNodeKey string          `json:"genesis_node_key"`
	Keys           json.RawMessage `json:"keys"`
	Currencies     json.RawMessage `json:"currencies"`
}

type Transfer

type Transfer struct {
	common.BaseOperation
}

func NewTransfer

func NewTransfer(fact TransferFact) (Transfer, error)

func (*Transfer) DecodeBSON

func (op *Transfer) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*Transfer) DecodeJSON

func (op *Transfer) DecodeJSON(b []byte, enc encoder.Encoder) error

func (*Transfer) HashSign

func (op *Transfer) HashSign(priv base.Privatekey, networkID base.NetworkID) error

func (Transfer) MarshalBSON

func (op Transfer) MarshalBSON() ([]byte, error)

func (Transfer) MarshalJSON

func (op Transfer) MarshalJSON() ([]byte, error)

type TransferFact

type TransferFact struct {
	base.BaseFact
	// contains filtered or unexported fields
}

func NewTransferFact

func NewTransferFact(
	token []byte,
	sender base.Address,
	items []TransferItem,
) TransferFact

func (TransferFact) Addresses

func (fact TransferFact) Addresses() ([]base.Address, error)

func (TransferFact) Bytes

func (fact TransferFact) Bytes() []byte

func (*TransferFact) DecodeBSON

func (fact *TransferFact) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*TransferFact) DecodeJSON

func (fact *TransferFact) DecodeJSON(b []byte, enc encoder.Encoder) error

func (TransferFact) GenerateHash

func (fact TransferFact) GenerateHash() util.Hash

func (TransferFact) Hash

func (fact TransferFact) Hash() util.Hash

func (TransferFact) IsValid

func (fact TransferFact) IsValid(b []byte) error

func (TransferFact) Items

func (fact TransferFact) Items() []TransferItem

func (TransferFact) MarshalBSON

func (fact TransferFact) MarshalBSON() ([]byte, error)

func (TransferFact) MarshalJSON

func (fact TransferFact) MarshalJSON() ([]byte, error)

func (TransferFact) Rebuild

func (fact TransferFact) Rebuild() TransferFact

func (TransferFact) Sender

func (fact TransferFact) Sender() base.Address

func (TransferFact) Token

func (fact TransferFact) Token() base.Token

type TransferFactBSONUnmarshaler

type TransferFactBSONUnmarshaler struct {
	Hint   string   `bson:"_hint"`
	Sender string   `bson:"sender"`
	Items  bson.Raw `bson:"items"`
}

type TransferFactJSONMarshaler

type TransferFactJSONMarshaler struct {
	base.BaseFactJSONMarshaler
	Sender base.Address   `json:"sender"`
	Items  []TransferItem `json:"items"`
}

type TransferFactJSONUnmarshaler

type TransferFactJSONUnmarshaler struct {
	base.BaseFactJSONUnmarshaler
	Sender string          `json:"sender"`
	Items  json.RawMessage `json:"items"`
}

type TransferItem

type TransferItem interface {
	hint.Hinter
	util.IsValider
	AmountsItem
	Bytes() []byte
	Receiver() base.Address
	Rebuild() TransferItem
}

type TransferItemBSONUnmarshaler

type TransferItemBSONUnmarshaler struct {
	Hint     string   `bson:"_hint"`
	Receiver string   `bson:"receiver"`
	Amounts  bson.Raw `bson:"amounts"`
}

type TransferItemJSONPacker

type TransferItemJSONPacker struct {
	hint.BaseHinter
	Receiver base.Address   `json:"receiver"`
	Amounts  []types.Amount `json:"amounts"`
}

type TransferItemMultiAmounts

type TransferItemMultiAmounts struct {
	BaseTransferItem
}

func NewTransferItemMultiAmounts

func NewTransferItemMultiAmounts(receiver base.Address, amounts []types.Amount) TransferItemMultiAmounts

func (TransferItemMultiAmounts) IsValid

func (it TransferItemMultiAmounts) IsValid([]byte) error

func (TransferItemMultiAmounts) Rebuild

type TransferItemProcessor

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

func (*TransferItemProcessor) Close

func (opp *TransferItemProcessor) Close()

func (*TransferItemProcessor) PreProcess

func (opp *TransferItemProcessor) PreProcess(
	_ context.Context, _ base.Operation, getStateFunc base.GetStateFunc,
) error

func (*TransferItemProcessor) Process

func (opp *TransferItemProcessor) Process(
	_ context.Context, _ base.Operation, getStateFunc base.GetStateFunc,
) ([]base.StateMergeValue, error)

type TransferItemSingleAmount

type TransferItemSingleAmount struct {
	BaseTransferItem
}

func NewTransferItemSingleAmount

func NewTransferItemSingleAmount(receiver base.Address, amount types.Amount) TransferItemSingleAmount

func (TransferItemSingleAmount) IsValid

func (it TransferItemSingleAmount) IsValid([]byte) error

func (TransferItemSingleAmount) Rebuild

type TransferProcessor

type TransferProcessor struct {
	*base.BaseOperationProcessor
	// contains filtered or unexported fields
}

func (*TransferProcessor) Close

func (opp *TransferProcessor) Close() error

func (*TransferProcessor) PreProcess

func (*TransferProcessor) Process

type UpdateCurrency

type UpdateCurrency struct {
	common.BaseNodeOperation
}

func NewUpdateCurrency

func NewUpdateCurrency(fact UpdateCurrencyFact, memo string) (UpdateCurrency, error)

func (*UpdateCurrency) DecodeBSON

func (op *UpdateCurrency) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*UpdateCurrency) DecodeJSON

func (op *UpdateCurrency) DecodeJSON(b []byte, enc encoder.Encoder) error

func (UpdateCurrency) MarshalBSON

func (op UpdateCurrency) MarshalBSON() ([]byte, error)

func (UpdateCurrency) MarshalJSON

func (op UpdateCurrency) MarshalJSON() ([]byte, error)

type UpdateCurrencyFact

type UpdateCurrencyFact struct {
	base.BaseFact
	// contains filtered or unexported fields
}

func NewUpdateCurrencyFact

func NewUpdateCurrencyFact(token []byte, currency types.CurrencyID, policy types.CurrencyPolicy) UpdateCurrencyFact

func (UpdateCurrencyFact) Bytes

func (fact UpdateCurrencyFact) Bytes() []byte

func (UpdateCurrencyFact) Currency

func (fact UpdateCurrencyFact) Currency() types.CurrencyID

func (*UpdateCurrencyFact) DecodeBSON

func (fact *UpdateCurrencyFact) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*UpdateCurrencyFact) DecodeJSON

func (fact *UpdateCurrencyFact) DecodeJSON(b []byte, enc encoder.Encoder) error

func (UpdateCurrencyFact) GenerateHash

func (fact UpdateCurrencyFact) GenerateHash() util.Hash

func (UpdateCurrencyFact) Hash

func (fact UpdateCurrencyFact) Hash() util.Hash

func (UpdateCurrencyFact) IsValid

func (fact UpdateCurrencyFact) IsValid(b []byte) error

func (UpdateCurrencyFact) MarshalBSON

func (fact UpdateCurrencyFact) MarshalBSON() ([]byte, error)

func (UpdateCurrencyFact) MarshalJSON

func (fact UpdateCurrencyFact) MarshalJSON() ([]byte, error)

func (UpdateCurrencyFact) Policy

func (fact UpdateCurrencyFact) Policy() types.CurrencyPolicy

func (UpdateCurrencyFact) Token

func (fact UpdateCurrencyFact) Token() base.Token

type UpdateCurrencyFactBSONUnmarshaler

type UpdateCurrencyFactBSONUnmarshaler struct {
	Hint     string   `bson:"_hint"`
	Currency string   `bson:"currency"`
	Policy   bson.Raw `bson:"policy"`
}

type UpdateCurrencyFactJSONMarshaler

type UpdateCurrencyFactJSONMarshaler struct {
	base.BaseFactJSONMarshaler
	Currency types.CurrencyID     `json:"currency"`
	Policy   types.CurrencyPolicy `json:"policy"`
}

type UpdateCurrencyFactJSONUnMarshaler

type UpdateCurrencyFactJSONUnMarshaler struct {
	base.BaseFactJSONUnmarshaler
	Currency string          `json:"currency"`
	Policy   json.RawMessage `json:"policy"`
}

type UpdateCurrencyProcessor

type UpdateCurrencyProcessor struct {
	*base.BaseOperationProcessor
	// contains filtered or unexported fields
}

func (*UpdateCurrencyProcessor) Close

func (opp *UpdateCurrencyProcessor) Close() error

func (*UpdateCurrencyProcessor) PreProcess

func (*UpdateCurrencyProcessor) Process

type UpdateKey

type UpdateKey struct {
	common.BaseOperation
}

func NewUpdateKey

func NewUpdateKey(fact UpdateKeyFact) (UpdateKey, error)

func (*UpdateKey) DecodeBSON

func (op *UpdateKey) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*UpdateKey) DecodeJSON

func (op *UpdateKey) DecodeJSON(b []byte, enc encoder.Encoder) error

func (*UpdateKey) HashSign

func (op *UpdateKey) HashSign(priv base.Privatekey, networkID base.NetworkID) error

func (UpdateKey) MarshalBSON

func (op UpdateKey) MarshalBSON() ([]byte, error)

func (UpdateKey) MarshalJSON

func (op UpdateKey) MarshalJSON() ([]byte, error)

type UpdateKeyFact

type UpdateKeyFact struct {
	base.BaseFact
	// contains filtered or unexported fields
}

func NewUpdateKeyFact

func NewUpdateKeyFact(
	token []byte,
	target base.Address,
	keys types.AccountKeys,
	currency types.CurrencyID,
) UpdateKeyFact

func (UpdateKeyFact) Addresses

func (fact UpdateKeyFact) Addresses() ([]base.Address, error)

func (UpdateKeyFact) Bytes

func (fact UpdateKeyFact) Bytes() []byte

func (UpdateKeyFact) Currency

func (fact UpdateKeyFact) Currency() types.CurrencyID

func (*UpdateKeyFact) DecodeBSON

func (fact *UpdateKeyFact) DecodeBSON(b []byte, enc *bsonenc.Encoder) error

func (*UpdateKeyFact) DecodeJSON

func (fact *UpdateKeyFact) DecodeJSON(b []byte, enc encoder.Encoder) error

func (UpdateKeyFact) GenerateHash

func (fact UpdateKeyFact) GenerateHash() util.Hash

func (UpdateKeyFact) Hash

func (fact UpdateKeyFact) Hash() util.Hash

func (UpdateKeyFact) IsValid

func (fact UpdateKeyFact) IsValid(b []byte) error

func (UpdateKeyFact) Keys

func (fact UpdateKeyFact) Keys() types.AccountKeys

func (UpdateKeyFact) MarshalBSON

func (fact UpdateKeyFact) MarshalBSON() ([]byte, error)

func (UpdateKeyFact) MarshalJSON

func (fact UpdateKeyFact) MarshalJSON() ([]byte, error)

func (UpdateKeyFact) Rebuild

func (fact UpdateKeyFact) Rebuild() UpdateKeyFact

func (UpdateKeyFact) Target

func (fact UpdateKeyFact) Target() base.Address

func (UpdateKeyFact) Token

func (fact UpdateKeyFact) Token() base.Token

type UpdateKeyFactBSONUnmarshaler

type UpdateKeyFactBSONUnmarshaler struct {
	Hint     string   `bson:"_hint"`
	Target   string   `bson:"target"`
	Keys     bson.Raw `bson:"keys"`
	Currency string   `bson:"currency"`
}

type UpdateKeyFactJSONMarshaler

type UpdateKeyFactJSONMarshaler struct {
	base.BaseFactJSONMarshaler
	Target   base.Address      `json:"target"`
	Keys     types.AccountKeys `json:"keys"`
	Currency types.CurrencyID  `json:"currency"`
}

type UpdateKeyFactJSONUnMarshaler

type UpdateKeyFactJSONUnMarshaler struct {
	base.BaseFactJSONUnmarshaler
	Target   string          `json:"target"`
	Keys     json.RawMessage `json:"keys"`
	Currency string          `json:"currency"`
}

type UpdateKeyProcessor

type UpdateKeyProcessor struct {
	*base.BaseOperationProcessor
}

func (*UpdateKeyProcessor) Close

func (opp *UpdateKeyProcessor) Close() error

func (*UpdateKeyProcessor) PreProcess

func (*UpdateKeyProcessor) Process

Jump to

Keyboard shortcuts

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