effects

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2021 License: Apache-2.0 Imports: 5 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",
	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

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 AccountSponsorshipCreated

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

type AccountSponsorshipRemoved

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

type AccountSponsorshipUpdated

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

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 ClaimableBalanceClaimantCreated

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

type ClaimableBalanceClaimed

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

type ClaimableBalanceCreated

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

type ClaimableBalanceSponsorshipCreated

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

type ClaimableBalanceSponsorshipRemoved

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

type ClaimableBalanceSponsorshipUpdated

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

type DataCreated

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

type DataRemoved

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

type DataSponsorshipCreated

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

type DataSponsorshipRemoved

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

type DataSponsorshipUpdated

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

type DataUpdated

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

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

	// 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

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 SignerSponsorshipCreated

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

type SignerSponsorshipRemoved

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

type SignerSponsorshipUpdated

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

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 TrustlineSponsorshipCreated

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

type TrustlineSponsorshipRemoved

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

type TrustlineSponsorshipUpdated

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

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