go: github.com/stellar/go/protocols/horizon/effects Index | Files

package effects

import "github.com/stellar/go/protocols/horizon/effects"

Index

Package Files

main.go signer_effects.go

Variables

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

type AccountCreated Uses

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

type AccountCredited Uses

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

type AccountDebited Uses

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

type AccountFlagsUpdated Uses

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

type AccountHomeDomainUpdated Uses

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

type AccountThresholdsUpdated Uses

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

type Base Uses

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 Uses

func (b Base) GetAccount() string

GetAccount implements Effect

func (Base) GetID Uses

func (b Base) GetID() string

GetID implements Effect

func (Base) GetType Uses

func (b Base) GetType() string

GetType implements Effect

func (Base) PagingToken Uses

func (b Base) PagingToken() string

PagingToken implements `hal.Pageable` and Effect

type Effect Uses

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

Effect contains methods that are implemented by all effect types.

func UnmarshalEffect Uses

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

UnmarshalEffect decodes responses to the correct effect struct

type EffectType Uses

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 Uses

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 Uses

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

UnmarshalJSON is the custom unmarshal method for EffectsPage

type SequenceBumped Uses

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

type SignerCreated Uses

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

func (*SignerCreated) Rehydrate Uses

func (sc *SignerCreated) Rehydrate() error

Rehydrate implements base.Rehydratable interface

type SignerRemoved Uses

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

func (*SignerRemoved) Rehydrate Uses

func (sr *SignerRemoved) Rehydrate() error

Rehydrate implements base.Rehydratable interface

type SignerUpdated Uses

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

func (*SignerUpdated) Rehydrate Uses

func (su *SignerUpdated) Rehydrate() error

Rehydrate implements base.Rehydratable interface

type Trade Uses

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 Uses

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

type TrustlineAuthorizedToMaintainLiabilities Uses

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

type TrustlineCreated Uses

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

type TrustlineDeauthorized Uses

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

type TrustlineRemoved Uses

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

type TrustlineUpdated Uses

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

Package effects imports 4 packages (graph) and is imported by 13 packages. Updated 2020-06-06. Refresh now. Tools for package owners.