operations

package
v0.0.0-...-6daa909 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TypeNames = map[xdr.OperationType]string{
	xdr.OperationTypeCreateAccount:                 "create_account",
	xdr.OperationTypePayment:                       "payment",
	xdr.OperationTypePathPaymentStrictReceive:      "path_payment_strict_receive",
	xdr.OperationTypeManageSellOffer:               "manage_sell_offer",
	xdr.OperationTypeCreatePassiveSellOffer:        "create_passive_sell_offer",
	xdr.OperationTypeSetOptions:                    "set_options",
	xdr.OperationTypeChangeTrust:                   "change_trust",
	xdr.OperationTypeAllowTrust:                    "allow_trust",
	xdr.OperationTypeAccountMerge:                  "account_merge",
	xdr.OperationTypeInflation:                     "inflation",
	xdr.OperationTypeManageData:                    "manage_data",
	xdr.OperationTypeBumpSequence:                  "bump_sequence",
	xdr.OperationTypeManageBuyOffer:                "manage_buy_offer",
	xdr.OperationTypePathPaymentStrictSend:         "path_payment_strict_send",
	xdr.OperationTypeCreateClaimableBalance:        "create_claimable_balance",
	xdr.OperationTypeClaimClaimableBalance:         "claim_claimable_balance",
	xdr.OperationTypeBeginSponsoringFutureReserves: "begin_sponsoring_future_reserves",
	xdr.OperationTypeEndSponsoringFutureReserves:   "end_sponsoring_future_reserves",
	xdr.OperationTypeRevokeSponsorship:             "revoke_sponsorship",
	xdr.OperationTypeClawback:                      "clawback",
	xdr.OperationTypeClawbackClaimableBalance:      "clawback_claimable_balance",
	xdr.OperationTypeSetTrustLineFlags:             "set_trust_line_flags",
}

TypeNames maps from operation type to the string used to represent that type in horizon's JSON responses

Functions

This section is empty.

Types

type AccountMerge

type AccountMerge struct {
	Base
	Account string `json:"account"`
	Into    string `json:"into"`
}

AccountMerge is the json resource representing a single operation whose type is AccountMerge.

type AllowTrust deprecated

type AllowTrust struct {
	Base
	base.Asset
	Trustee                        string `json:"trustee"`
	Trustor                        string `json:"trustor"`
	Authorize                      bool   `json:"authorize"`
	AuthorizeToMaintainLiabilities bool   `json:"authorize_to_maintain_liabilities"`
}

Deprecated: use TrustlineFlagsUpdated instead. AllowTrust is the json resource representing a single operation whose type is AllowTrust.

type Base

type Base struct {
	Links struct {
		Self        hal.Link `json:"self"`
		Transaction hal.Link `json:"transaction"`
		Effects     hal.Link `json:"effects"`
		Succeeds    hal.Link `json:"succeeds"`
		Precedes    hal.Link `json:"precedes"`
	} `json:"_links"`

	ID string `json:"id"`
	PT string `json:"paging_token"`
	// TransactionSuccessful defines if this operation is part of
	// successful transaction.
	TransactionSuccessful bool      `json:"transaction_successful"`
	SourceAccount         string    `json:"source_account"`
	Type                  string    `json:"type"`
	TypeI                 int32     `json:"type_i"`
	LedgerCloseTime       time.Time `json:"created_at"`
	// TransactionHash is the hash of the transaction which created the operation
	// Note that the Transaction field below is not always present in the Operation response.
	// If the Transaction field is present TransactionHash is redundant since the same information
	// is present in Transaction. But, if the Transaction field is nil then TransactionHash is useful.
	// Transaction is non nil when the "join=transactions" parameter is present in the operations request
	TransactionHash string               `json:"transaction_hash"`
	Transaction     *horizon.Transaction `json:"transaction,omitempty"`
	Sponsor         string               `json:"sponsor,omitempty"`
}

Base represents the common attributes of an operation resource

func (Base) GetID

func (base Base) GetID() string

func (Base) GetTransactionHash

func (base Base) GetTransactionHash() string

func (Base) GetType

func (base Base) GetType() string

GetType returns the type of operation

func (Base) GetTypeI

func (base Base) GetTypeI() int32

GetTypeI returns the ID of type of operation

func (Base) IsTransactionSuccessful

func (base Base) IsTransactionSuccessful() bool

func (Base) PagingToken

func (base Base) PagingToken() string

PagingToken implements hal.Pageable

type BeginSponsoringFutureReserves

type BeginSponsoringFutureReserves struct {
	Base
	SponsoredID string `json:"sponsored_id"`
}

BeginSponsoringFutureReserves is the json resource representing a single operation whose type is BeginSponsoringFutureReserves.

type BumpSequence

type BumpSequence struct {
	Base
	BumpTo string `json:"bump_to"`
}

BumpSequence is the json resource representing a single operation whose type is BumpSequence.

type ChangeTrust

type ChangeTrust struct {
	Base
	base.Asset
	Limit   string `json:"limit"`
	Trustee string `json:"trustee"`
	Trustor string `json:"trustor"`
}

ChangeTrust is the json resource representing a single operation whose type is ChangeTrust.

type ClaimClaimableBalance

type ClaimClaimableBalance struct {
	Base
	BalanceID string `json:"balance_id"`
	Claimant  string `json:"claimant"`
}

ClaimClaimableBalance is the json resource representing a single operation whose type is ClaimClaimableBalance.

type Clawback

type Clawback struct {
	Base
	base.Asset
	From   string `json:"from"`
	Amount string `json:"amount"`
}

Clawback is the json resource representing a single operation whose type is Clawback.

type ClawbackClaimableBalance

type ClawbackClaimableBalance struct {
	Base
	ClaimableBalanceID *string `json:"balance_id,omitempty"`
}

ClawbackClaimableBalance is the json resource representing a single operation whose type is ClawbackClaimableBalance.

type CreateAccount

type CreateAccount struct {
	Base
	StartingBalance string `json:"starting_balance"`
	Funder          string `json:"funder"`
	Account         string `json:"account"`
}

CreateAccount is the json resource representing a single operation whose type is CreateAccount.

type CreateClaimableBalance

type CreateClaimableBalance struct {
	Base
	Asset     string             `json:"asset"`
	Amount    string             `json:"amount"`
	Claimants []horizon.Claimant `json:"claimants"`
}

CreateClaimableBalance is the json resource representing a single operation whose type is CreateClaimableBalance.

type CreatePassiveSellOffer

type CreatePassiveSellOffer struct {
	Offer
}

CreatePassiveSellOffer is the json resource representing a single operation whose type is CreatePassiveSellOffer.

type EndSponsoringFutureReserves

type EndSponsoringFutureReserves struct {
	Base
	BeginSponsor string `json:"begin_sponsor,omitempty"`
}

EndSponsoringFutureReserves is the json resource representing a single operation whose type is EndSponsoringFutureReserves.

type Inflation

type Inflation struct {
	Base
}

Inflation is the json resource representing a single operation whose type is Inflation.

type ManageBuyOffer

type ManageBuyOffer struct {
	Offer
	OfferID int64 `json:"offer_id,string"`
}

ManageBuyOffer is the json resource representing a single operation whose type is ManageBuyOffer.

type ManageData

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

ManageData represents a ManageData operation as it is serialized into json for the horizon API.

type ManageSellOffer

type ManageSellOffer struct {
	Offer
	OfferID int64 `json:"offer_id,string"`
}

ManageSellOffer is the json resource representing a single operation whose type is ManageSellOffer.

type Offer

type Offer struct {
	Base
	Amount             string     `json:"amount"`
	Price              string     `json:"price"`
	PriceR             base.Price `json:"price_r"`
	BuyingAssetType    string     `json:"buying_asset_type"`
	BuyingAssetCode    string     `json:"buying_asset_code,omitempty"`
	BuyingAssetIssuer  string     `json:"buying_asset_issuer,omitempty"`
	SellingAssetType   string     `json:"selling_asset_type"`
	SellingAssetCode   string     `json:"selling_asset_code,omitempty"`
	SellingAssetIssuer string     `json:"selling_asset_issuer,omitempty"`
}

Offer is an embedded resource used in offer type operations.

type Operation

type Operation interface {
	PagingToken() string
	GetType() string
	GetID() string
	GetTransactionHash() string
	IsTransactionSuccessful() bool
}

Operation interface contains methods implemented by the operation types

func UnmarshalOperation

func UnmarshalOperation(operationTypeID int32, dataString []byte) (ops Operation, err error)

UnmarshalOperation decodes responses to the correct operation struct

type OperationsPage

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

OperationsPage is the json resource representing a page of operations. OperationsPage.Record can contain various operation types.

func (*OperationsPage) UnmarshalJSON

func (ops *OperationsPage) UnmarshalJSON(data []byte) error

type PathPayment

type PathPayment struct {
	Payment
	Path              []base.Asset `json:"path"`
	SourceAmount      string       `json:"source_amount"`
	SourceMax         string       `json:"source_max"`
	SourceAssetType   string       `json:"source_asset_type"`
	SourceAssetCode   string       `json:"source_asset_code,omitempty"`
	SourceAssetIssuer string       `json:"source_asset_issuer,omitempty"`
}

PathPayment is the json resource representing a single operation whose type is PathPayment.

type PathPaymentStrictSend

type PathPaymentStrictSend struct {
	Payment
	Path              []base.Asset `json:"path"`
	SourceAmount      string       `json:"source_amount"`
	DestinationMin    string       `json:"destination_min"`
	SourceAssetType   string       `json:"source_asset_type"`
	SourceAssetCode   string       `json:"source_asset_code,omitempty"`
	SourceAssetIssuer string       `json:"source_asset_issuer,omitempty"`
}

PathPaymentStrictSend is the json resource representing a single operation whose type is PathPaymentStrictSend.

type Payment

type Payment struct {
	Base
	base.Asset
	From   string `json:"from"`
	To     string `json:"to"`
	Amount string `json:"amount"`
}

Payment is the json resource representing a single operation whose type is Payment.

type RevokeSponsorship

type RevokeSponsorship struct {
	Base
	AccountID          *string `json:"account_id,omitempty"`
	ClaimableBalanceID *string `json:"claimable_balance_id,omitempty"`
	DataAccountID      *string `json:"data_account_id,omitempty"`
	DataName           *string `json:"data_name,omitempty"`
	OfferID            *int64  `json:"offer_id,omitempty,string"`
	TrustlineAccountID *string `json:"trustline_account_id,omitempty"`
	TrustlineAsset     *string `json:"trustline_asset,omitempty"`
	SignerAccountID    *string `json:"signer_account_id,omitempty"`
	SignerKey          *string `json:"signer_key,omitempty"`
}

RevokeSponsorship is the json resource representing a single operation whose type is RevokeSponsorship.

type SetOptions

type SetOptions struct {
	Base
	HomeDomain    string `json:"home_domain,omitempty"`
	InflationDest string `json:"inflation_dest,omitempty"`

	MasterKeyWeight *int   `json:"master_key_weight,omitempty"`
	SignerKey       string `json:"signer_key,omitempty"`
	SignerWeight    *int   `json:"signer_weight,omitempty"`

	SetFlags    []int    `json:"set_flags,omitempty"`
	SetFlagsS   []string `json:"set_flags_s,omitempty"`
	ClearFlags  []int    `json:"clear_flags,omitempty"`
	ClearFlagsS []string `json:"clear_flags_s,omitempty"`

	LowThreshold  *int `json:"low_threshold,omitempty"`
	MedThreshold  *int `json:"med_threshold,omitempty"`
	HighThreshold *int `json:"high_threshold,omitempty"`
}

SetOptions is the json resource representing a single operation whose type is SetOptions.

type SetTrustLineFlags

type SetTrustLineFlags struct {
	Base
	base.Asset
	Trustor     string   `json:"trustor"`
	SetFlags    []int    `json:"set_flags,omitempty"`
	SetFlagsS   []string `json:"set_flags_s,omitempty"`
	ClearFlags  []int    `json:"clear_flags,omitempty"`
	ClearFlagsS []string `json:"clear_flags_s,omitempty"`
}

SetTrustLineFlags is the json resource representing a single operation whose type is SetTrustLineFlags.

Jump to

Keyboard shortcuts

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