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",
    EffectClaimableBalanceCreated:                  "claimable_balance_created",
    EffectClaimableBalanceClaimed:                  "claimable_balance_claimed",
    EffectClaimableBalanceClaimantCreated:          "claimable_balance_claimant_created",
    EffectAccountSponsorshipCreated:                "account_sponsorship_created",
    EffectAccountSponsorshipUpdated:                "account_sponsorship_updated",
    EffectAccountSponsorshipRemoved:                "account_sponsorship_removed",
    EffectTrustlineSponsorshipCreated:              "trustline_sponsorship_created",
    EffectTrustlineSponsorshipUpdated:              "trustline_sponsorship_updated",
    EffectTrustlineSponsorshipRemoved:              "trustline_sponsorship_removed",
    EffectDataSponsorshipCreated:                   "data_sponsorship_created",
    EffectDataSponsorshipUpdated:                   "data_sponsorship_updated",
    EffectDataSponsorshipRemoved:                   "data_sponsorship_removed",
    EffectClaimableBalanceSponsorshipCreated:       "claimable_balance_sponsorship_created",
    EffectClaimableBalanceSponsorshipUpdated:       "claimable_balance_sponsorship_updated",
    EffectClaimableBalanceSponsorshipRemoved:       "claimable_balance_sponsorship_removed",
    EffectSignerSponsorshipCreated:                 "signer_sponsorship_created",
    EffectSignerSponsorshipUpdated:                 "signer_sponsorship_updated",
    EffectSignerSponsorshipRemoved:                 "signer_sponsorship_removed",
}

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 AccountSponsorshipCreated Uses

type AccountSponsorshipCreated struct {
    Base
    Sponsor string `json:"sponsor"`
}

type AccountSponsorshipRemoved Uses

type AccountSponsorshipRemoved struct {
    Base
    FormerSponsor string `json:"former_sponsor"`
}

type AccountSponsorshipUpdated Uses

type AccountSponsorshipUpdated struct {
    Base
    FormerSponsor string `json:"former_sponsor"`
    NewSponsor    string `json:"new_sponsor"`
}

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 ClaimableBalanceClaimantCreated Uses

type ClaimableBalanceClaimantCreated struct {
    Base
    Asset     string             `json:"asset"`
    BalanceID string             `json:"balance_id"`
    Amount    string             `json:"amount"`
    Predicate xdr.ClaimPredicate `json:"predicate"`
}

type ClaimableBalanceClaimed Uses

type ClaimableBalanceClaimed struct {
    Base
    Asset     string `json:"asset"`
    BalanceID string `json:"balance_id"`
    Amount    string `json:"amount"`
}

type ClaimableBalanceCreated Uses

type ClaimableBalanceCreated struct {
    Base
    Asset     string `json:"asset"`
    BalanceID string `json:"balance_id"`
    Amount    string `json:"amount"`
}

type ClaimableBalanceSponsorshipCreated Uses

type ClaimableBalanceSponsorshipCreated struct {
    Base
    BalanceID string `json:"balance_id"`
    Sponsor   string `json:"sponsor"`
}

type ClaimableBalanceSponsorshipRemoved Uses

type ClaimableBalanceSponsorshipRemoved struct {
    Base
    BalanceID     string `json:"balance_id"`
    FormerSponsor string `json:"former_sponsor"`
}

type ClaimableBalanceSponsorshipUpdated Uses

type ClaimableBalanceSponsorshipUpdated struct {
    Base
    BalanceID     string `json:"balance_id"`
    FormerSponsor string `json:"former_sponsor"`
    NewSponsor    string `json:"new_sponsor"`
}

type DataCreated Uses

type DataCreated struct {
    Base
    Name  string `json:"name"`
    Value string `json:"value"`
}

type DataRemoved Uses

type DataRemoved struct {
    Base
    Name string `json:"name"`
}

type DataSponsorshipCreated Uses

type DataSponsorshipCreated struct {
    Base
    DataName string `json:"data_name"`
    Sponsor  string `json:"sponsor"`
}

type DataSponsorshipRemoved Uses

type DataSponsorshipRemoved struct {
    Base
    DataName      string `json:"data_name"`
    FormerSponsor string `json:"former_sponsor"`
}

type DataSponsorshipUpdated Uses

type DataSponsorshipUpdated struct {
    Base
    DataName      string `json:"data_name"`
    FormerSponsor string `json:"former_sponsor"`
    NewSponsor    string `json:"new_sponsor"`
}

type DataUpdated Uses

type DataUpdated struct {
    Base
    Name  string `json:"name"`
    Value string `json:"value"`
}

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

    // EffectClaimableBalanceCreated occurs when a claimable balance is created
    EffectClaimableBalanceCreated EffectType = 50 // from create_claimable_balance

    // EffectClaimableBalanceClaimantCreated occurs when a claimable balance claimant is created
    EffectClaimableBalanceClaimantCreated EffectType = 51 // from create_claimable_balance

    // EffectClaimableBalanceClaimed occurs when a claimable balance is claimed
    EffectClaimableBalanceClaimed EffectType = 52 // from claim_claimable_balance

    // EffectAccountSponsorshipCreated occurs when an account ledger entry is sponsored
    EffectAccountSponsorshipCreated EffectType = 60 // from create_account

    // EffectAccountSponsorshipUpdated occurs when the sponsoring of an account ledger entry is updated
    EffectAccountSponsorshipUpdated EffectType = 61 // from revoke_sponsorship

    // EffectAccountSponsorshipRemoved occurs when the sponsorship of an account ledger entry is removed
    EffectAccountSponsorshipRemoved EffectType = 62 // from revoke_sponsorship

    // EffectTrustlineSponsorshipCreated occurs when a trustline ledger entry is sponsored
    EffectTrustlineSponsorshipCreated EffectType = 63 // from change_trust

    // EffectTrustlineSponsorshipUpdated occurs when the sponsoring of a trustline ledger entry is updated
    EffectTrustlineSponsorshipUpdated EffectType = 64 // from revoke_sponsorship

    // EffectTrustlineSponsorshipRemoved occurs when the sponsorship of a trustline ledger entry is removed
    EffectTrustlineSponsorshipRemoved EffectType = 65 // from revoke_sponsorship

    // EffectDataSponsorshipCreated occurs when a trustline ledger entry is sponsored
    EffectDataSponsorshipCreated EffectType = 66 // from manage_data

    // EffectDataSponsorshipUpdated occurs when the sponsoring of a trustline ledger entry is updated
    EffectDataSponsorshipUpdated EffectType = 67 // from revoke_sponsorship

    // EffectDataSponsorshipRemoved occurs when the sponsorship of a trustline ledger entry is removed
    EffectDataSponsorshipRemoved EffectType = 68 // from revoke_sponsorship

    // EffectClaimableBalanceSponsorshipCreated occurs when a claimable balance ledger entry is sponsored
    EffectClaimableBalanceSponsorshipCreated EffectType = 69 // from create_claimable_balance

    // EffectClaimableBalanceSponsorshipUpdated occurs when the sponsoring of a claimable balance ledger entry
    // is updated
    EffectClaimableBalanceSponsorshipUpdated EffectType = 70 // from revoke_sponsorship

    // EffectClaimableBalanceSponsorshipRemoved occurs when the sponsorship of a claimable balance ledger entry
    // is removed
    EffectClaimableBalanceSponsorshipRemoved EffectType = 71 // from claim_claimable_balance

    // EffectSignerSponsorshipCreated occurs when the sponsorship of a signer is created
    EffectSignerSponsorshipCreated EffectType = 72 // from set_options

    // EffectSignerSponsorshipUpdated occurs when the sponsorship of a signer is updated
    EffectSignerSponsorshipUpdated EffectType = 73 // from revoke_sponsorship

    // EffectSignerSponsorshipRemoved occurs when the sponsorship of a signer is removed
    EffectSignerSponsorshipRemoved EffectType = 74 // from revoke_sponsorship
)

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 SignerSponsorshipCreated Uses

type SignerSponsorshipCreated struct {
    Base
    Signer  string `json:"signer"`
    Sponsor string `json:"sponsor"`
}

type SignerSponsorshipRemoved Uses

type SignerSponsorshipRemoved struct {
    Base
    Signer        string `json:"signer"`
    FormerSponsor string `json:"former_sponsor"`
}

type SignerSponsorshipUpdated Uses

type SignerSponsorshipUpdated struct {
    Base
    Signer        string `json:"signer"`
    FormerSponsor string `json:"former_sponsor"`
    NewSponsor    string `json:"new_sponsor"`
}

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 TrustlineSponsorshipCreated Uses

type TrustlineSponsorshipCreated struct {
    Base
    Asset   string `json:"asset"`
    Sponsor string `json:"sponsor"`
}

type TrustlineSponsorshipRemoved Uses

type TrustlineSponsorshipRemoved struct {
    Base
    Asset         string `json:"asset"`
    FormerSponsor string `json:"former_sponsor"`
}

type TrustlineSponsorshipUpdated Uses

type TrustlineSponsorshipUpdated struct {
    Base
    Asset         string `json:"asset"`
    FormerSponsor string `json:"former_sponsor"`
    NewSponsor    string `json:"new_sponsor"`
}

type TrustlineUpdated Uses

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

Package effects imports 5 packages (graph) and is imported by 12 packages. Updated 2020-10-15. Refresh now. Tools for package owners.