effects

package
v0.0.0-...-13e2633 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EffectTypeNames = map[EffectType]string{
	EffectAccountCreated:                           "account_created",
	EffectAccountRemoved:                           "account_removed",
	EffectAccountCredited:                          "account_credited",
	EffectAccountDebited:                           "account_debited",
	EffectAccountThresholdsUpdated:                 "account_thresholds_updated",
	EffectAccountHomeDomainUpdated:                 "account_home_domain_updated",
	EffectAccountFlagsUpdated:                      "account_flags_updated",
	EffectAccountInflationDestinationUpdated:       "account_inflation_destination_updated",
	EffectSignerCreated:                            "signer_created",
	EffectSignerRemoved:                            "signer_removed",
	EffectSignerUpdated:                            "signer_updated",
	EffectTrustlineCreated:                         "trustline_created",
	EffectTrustlineRemoved:                         "trustline_removed",
	EffectTrustlineUpdated:                         "trustline_updated",
	EffectTrustlineAuthorized:                      "trustline_authorized",
	EffectTrustlineAuthorizedToMaintainLiabilities: "trustline_authorized_to_maintain_liabilities",
	EffectTrustlineDeauthorized:                    "trustline_deauthorized",
	EffectOfferCreated:                             "offer_created",
	EffectOfferRemoved:                             "offer_removed",
	EffectOfferUpdated:                             "offer_updated",
	EffectTrade:                                    "trade",
	EffectDataCreated:                              "data_created",
	EffectDataRemoved:                              "data_removed",
	EffectDataUpdated:                              "data_updated",
	EffectSequenceBumped:                           "sequence_bumped",
}

EffectTypeNames stores a map of effect type ID and names

Functions

This section is empty.

Types

type AccountCreated

type AccountCreated struct {
	Base
	StartingBalance string `json:"starting_balance"`
}

type AccountCredited

type AccountCredited struct {
	Base
	base.Asset
	Amount string `json:"amount"`
}

type AccountDebited

type AccountDebited struct {
	Base
	base.Asset
	Amount string `json:"amount"`
}

type AccountFlagsUpdated

type AccountFlagsUpdated struct {
	Base
	AuthRequired  *bool `json:"auth_required_flag,omitempty"`
	AuthRevokable *bool `json:"auth_revokable_flag,omitempty"`
}

type AccountHomeDomainUpdated

type AccountHomeDomainUpdated struct {
	Base
	HomeDomain string `json:"home_domain"`
}

type AccountThresholdsUpdated

type AccountThresholdsUpdated struct {
	Base
	LowThreshold  int32 `json:"low_threshold"`
	MedThreshold  int32 `json:"med_threshold"`
	HighThreshold int32 `json:"high_threshold"`
}

type Base

type Base struct {
	Links struct {
		Operation hal.Link `json:"operation"`
		Succeeds  hal.Link `json:"succeeds"`
		Precedes  hal.Link `json:"precedes"`
	} `json:"_links"`

	ID              string    `json:"id"`
	PT              string    `json:"paging_token"`
	Account         string    `json:"account"`
	Type            string    `json:"type"`
	TypeI           int32     `json:"type_i"`
	LedgerCloseTime time.Time `json:"created_at"`
}

Base provides the common structure for any effect resource effect.

func (Base) GetAccount

func (b Base) GetAccount() string

GetAccount implements Effect

func (Base) GetID

func (b Base) GetID() string

GetID implements Effect

func (Base) GetType

func (b Base) GetType() string

GetType implements Effect

func (Base) PagingToken

func (b Base) PagingToken() string

PagingToken implements `hal.Pageable` and Effect

type Effect

type Effect interface {
	PagingToken() string
	GetType() string
	GetID() string
	GetAccount() string
}

Effect contains methods that are implemented by all effect types.

func UnmarshalEffect

func UnmarshalEffect(effectType string, dataString []byte) (effects Effect, err error)

UnmarshalEffect decodes responses to the correct effect struct

type EffectType

type EffectType int

EffectType is the numeric type for an effect

const (

	// EffectAccountCreated effects occur when a new account is created
	EffectAccountCreated EffectType = 0 // from create_account

	// EffectAccountRemoved effects occur when one account is merged into another
	EffectAccountRemoved EffectType = 1 // from merge_account

	// EffectAccountCredited effects occur when an account receives some currency
	EffectAccountCredited EffectType = 2 // from create_account, payment, path_payment, merge_account

	// EffectAccountDebited effects occur when an account sends some currency
	EffectAccountDebited EffectType = 3 // from create_account, payment, path_payment, create_account

	// EffectAccountThresholdsUpdated effects occur when an account changes its
	// multisig thresholds.
	EffectAccountThresholdsUpdated EffectType = 4 // from set_options

	// EffectAccountHomeDomainUpdated effects occur when an account changes its
	// home domain.
	EffectAccountHomeDomainUpdated EffectType = 5 // from set_options

	// EffectAccountFlagsUpdated effects occur when an account changes its
	// account flags, either clearing or setting.
	EffectAccountFlagsUpdated EffectType = 6 // from set_options

	// EffectAccountInflationDestinationUpdated effects occur when an account changes its
	// inflation destination.
	EffectAccountInflationDestinationUpdated EffectType = 7 // from set_options

	// EffectSignerCreated occurs when an account gains a signer
	EffectSignerCreated EffectType = 10 // from set_options

	// EffectSignerRemoved occurs when an account loses a signer
	EffectSignerRemoved EffectType = 11 // from set_options

	// EffectSignerUpdated occurs when an account changes the weight of one of its
	// signers.
	EffectSignerUpdated EffectType = 12 // from set_options

	// EffectTrustlineCreated occurs when an account trusts an anchor
	EffectTrustlineCreated EffectType = 20 // from change_trust

	// EffectTrustlineRemoved occurs when an account removes struct by setting the
	// limit of a trustline to 0
	EffectTrustlineRemoved EffectType = 21 // from change_trust

	// EffectTrustlineUpdated occurs when an account changes a trustline's limit
	EffectTrustlineUpdated EffectType = 22 // from change_trust, allow_trust

	// EffectTrustlineAuthorized occurs when an anchor has AUTH_REQUIRED flag set
	// to true and it authorizes another account's trustline
	EffectTrustlineAuthorized EffectType = 23 // from allow_trust

	// EffectTrustlineDeauthorized occurs when an anchor revokes access to a asset
	// it issues.
	EffectTrustlineDeauthorized EffectType = 24 // from allow_trust

	// EffectTrustlineAuthorizedToMaintainLiabilities occurs when an anchor has AUTH_REQUIRED flag set
	// to true and it authorizes another account's trustline to maintain liabilities
	EffectTrustlineAuthorizedToMaintainLiabilities EffectType = 25 // from allow_trust

	// EffectOfferCreated occurs when an account offers to trade an asset
	EffectOfferCreated EffectType = 30 // from manage_offer, creat_passive_offer

	// EffectOfferRemoved occurs when an account removes an offer
	EffectOfferRemoved EffectType = 31 // from manage_offer, creat_passive_offer, path_payment

	// EffectOfferUpdated occurs when an offer is updated by the offering account.
	EffectOfferUpdated EffectType = 32 // from manage_offer, creat_passive_offer, path_payment

	// EffectTrade occurs when a trade is initiated because of a path payment or
	// offer operation.
	EffectTrade EffectType = 33 // from manage_offer, creat_passive_offer, path_payment

	// EffectDataCreated occurs when an account gets a new data field
	EffectDataCreated EffectType = 40 // from manage_data

	// EffectDataRemoved occurs when an account removes a data field
	EffectDataRemoved EffectType = 41 // from manage_data

	// EffectDataUpdated occurs when an account changes a data field's value
	EffectDataUpdated EffectType = 42 // from manage_data

	// EffectSequenceBumped occurs when an account bumps their sequence number
	EffectSequenceBumped EffectType = 43 // from bump_sequence
)

type EffectsPage

type EffectsPage struct {
	Links    hal.Links `json:"_links"`
	Embedded struct {
		Records []Effect
	} `json:"_embedded"`
}

EffectsPage contains page of effects returned by Horizon.

func (*EffectsPage) UnmarshalJSON

func (effects *EffectsPage) UnmarshalJSON(data []byte) error

UnmarshalJSON is the custom unmarshal method for EffectsPage

type SequenceBumped

type SequenceBumped struct {
	Base
	NewSeq int64 `json:"new_seq,string"`
}

type SignerCreated

type SignerCreated struct {
	Base
	Weight    int32  `json:"weight"`
	PublicKey string `json:"public_key"`
	Key       string `json:"key"`
}

func (*SignerCreated) Rehydrate

func (sc *SignerCreated) Rehydrate() error

Rehydrate implements base.Rehydratable interface

type SignerRemoved

type SignerRemoved struct {
	Base
	Weight    int32  `json:"weight"`
	PublicKey string `json:"public_key"`
	Key       string `json:"key"`
}

func (*SignerRemoved) Rehydrate

func (sr *SignerRemoved) Rehydrate() error

Rehydrate implements base.Rehydratable interface

type SignerUpdated

type SignerUpdated struct {
	Base
	Weight    int32  `json:"weight"`
	PublicKey string `json:"public_key"`
	Key       string `json:"key"`
}

func (*SignerUpdated) Rehydrate

func (su *SignerUpdated) Rehydrate() error

Rehydrate implements base.Rehydratable interface

type Trade

type Trade struct {
	Base
	Seller            string `json:"seller"`
	OfferID           int64  `json:"offer_id,string"`
	SoldAmount        string `json:"sold_amount"`
	SoldAssetType     string `json:"sold_asset_type"`
	SoldAssetCode     string `json:"sold_asset_code,omitempty"`
	SoldAssetIssuer   string `json:"sold_asset_issuer,omitempty"`
	BoughtAmount      string `json:"bought_amount"`
	BoughtAssetType   string `json:"bought_asset_type"`
	BoughtAssetCode   string `json:"bought_asset_code,omitempty"`
	BoughtAssetIssuer string `json:"bought_asset_issuer,omitempty"`
}

type TrustlineAuthorized

type TrustlineAuthorized struct {
	Base
	Trustor   string `json:"trustor"`
	AssetType string `json:"asset_type"`
	AssetCode string `json:"asset_code,omitempty"`
}

type TrustlineAuthorizedToMaintainLiabilities

type TrustlineAuthorizedToMaintainLiabilities struct {
	Base
	Trustor   string `json:"trustor"`
	AssetType string `json:"asset_type"`
	AssetCode string `json:"asset_code,omitempty"`
}

type TrustlineCreated

type TrustlineCreated struct {
	Base
	base.Asset
	Limit string `json:"limit"`
}

type TrustlineDeauthorized

type TrustlineDeauthorized struct {
	Base
	Trustor   string `json:"trustor"`
	AssetType string `json:"asset_type"`
	AssetCode string `json:"asset_code,omitempty"`
}

type TrustlineRemoved

type TrustlineRemoved struct {
	Base
	base.Asset
	Limit string `json:"limit"`
}

type TrustlineUpdated

type TrustlineUpdated struct {
	Base
	base.Asset
	Limit string `json:"limit"`
}

Jump to

Keyboard shortcuts

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