gql

package
v0.0.0-...-589da53 Latest Latest
Warning

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

Go to latest
Published: May 30, 2023 License: MIT Imports: 44 Imported by: 0

README

GraphQL

The query interface is accessible on http://localhost:3004/.

Types

Dates (time.Time)
  • Serialization type: String

Note Use furytime.Format(furytime.UnixNano(myDate)) to properly convert it.

How to's?
Add new GraphQL type
  1. Add the new type in schema.graphql
  2. Add binding between golang model and GraphQL type in gqlgen.yml
  3. Generate the GraphQL model and resolver with make gqlgen
  4. Create a new golang file my_type_resolver.go
  5. Implement the MyTypeResolver interface
    • This interface is located in generated.go
  6. Add a method MyType() on struct FuryResolverRoot in resolvers.go, as follows :
func (r *FuryResolverRoot) MyType() MyTypeResolver {
    return (*myTypeResolver)(r)
}
Add a new query?
  1. Add a new query in schema.graphql in the Query type
  2. Generate the GraphQL model and resolver with make gqlgen
  3. Add a method MyType() on struct myQueryResolver in resolvers.go, as follows :
func (r *myQueryResolver) MyType() types.MyType {
	res, err := r.tradingDataClient.MyType(
		ctx, &protoapi.MyTypeRequest{Id: id},
    )
    if err != nil {
   	    return nil, err
    }
   
   return res.MyType, nil
}

Documentation

Overview

Package gql contains code for running the GraphQL-to-gRPC gateway.

In order to add a new GraphQL endpoint, add an entry to either the `Mutation`, `Query` or `Subscription` sections of `gateway/graphql/schema.graphql`. Example:

# SomeNewEndpoint does something
somenewendpoint(
  # somestring
  someStr: String!,
  # someint
  someInt: Int!
): SomeNewEndpointResponse!

type SomeNewEndpointResponse {
  someAnswer: String!
  someStringList: [String!]
}

Then run `make gqlgen`.

Your new endpoint above will require a `SomeNewEndpointRequest` and `SomeNewEndpointResponse` message to be defined in the trading.proto file. Once this is defined you can run `make proto` to generate the structures required to add the resolvers below. e.g.

	message SomeNewEndpointRequest {
	  string orderID = 1;
	  string referenceID = 2;
 }

 message SomeNewEndpointResponse {
	fury.Order order = 1;
 }

Also a function definition needs to be defined in the trading.proto to show the parameters and return strutures for the new function e.g. rpc SomeNewEndpoint (SomeNewEndpointRequest) returns (SomeNewEndpointResponse)

Next, in `gateway/graphql/resolvers.go`, add the endpoint to the `TradingClient` interface if the new endpoint is a mutation, else add it to TradingDataClient if is it just a query, and add a function implementation, using the function definition from `generated.go`. Example:

type TradingClient interface {
    // ...
    SomeNewEndpoint(context.Context, *api.SomeNewEndpointRequest, ...grpc.CallOption) (*api.SomeNewEndpointResponse, error)
    // ...
}

// <<MQS>> is one of: Mutation, Query, Subscription
func (r *My<<MQS>>Resolver) SomeNewEndpoint(ctx context.Context, someStr string, someInt int64) (*SomeNewEndpointResponse, error) {
    req := &protoapi.SomeNewEndpointRequest{
        // ...
    }

    response, err := r.tradingClient.SomeNewEndpoint(ctx, req)
    if err != nil {
        return nil, err
    }

    return &SomeNewEndpointResponse{/* ... */}, nil
}

Now add the new function to the `trading.go` or `trading_data.go` package to actually perform the work

Lastly, make sure mocks are up to date, then run tests: `make mocks test`

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNilTradingMode ...
	ErrNilTradingMode = errors.New("nil trading mode")
	// ErrAmbiguousTradingMode ...
	ErrAmbiguousTradingMode = errors.New("more than one trading mode selected")
	// ErrUnimplementedTradingMode ...
	ErrUnimplementedTradingMode = errors.New("unimplemented trading mode")
	// ErrNilProduct ...
	ErrNilProduct = errors.New("nil product")
	// ErrNilRiskModel ...
	ErrNilRiskModel = errors.New("nil risk model")
	// ErrInvalidChange ...
	ErrInvalidChange = errors.New("nil update market, new market and update network")
	// ErrNilAssetSource returned when an asset source is not specified at creation.
	ErrNilAssetSource = errors.New("nil asset source")
	// ErrUnimplementedAssetSource returned when an asset source specified at creation is not recognised.
	ErrUnimplementedAssetSource = errors.New("unimplemented asset source")
	// ErrMultipleProposalChangesSpecified is raised when multiple proposal changes are set
	// (non-null) for a singe proposal terms.
	ErrMultipleProposalChangesSpecified = errors.New("multiple proposal changes specified")
	// ErrMultipleAssetSourcesSpecified is raised when multiple asset source are specified.
	ErrMultipleAssetSourcesSpecified = errors.New("multiple asset sources specified")
	// ErrNilPriceMonitoringParameters ...
	ErrNilPriceMonitoringParameters = errors.New("nil price monitoring parameters")
)
View Source
var (
	// ErrMissingIDOrReference is returned when neither id nor reference has been supplied in the query.
	ErrMissingIDOrReference = errors.New("missing id or reference")
	// ErrMissingNodeID is returned when no node id has been supplied in the query.
	ErrMissingNodeID = errors.New("missing node id")
	// ErrInvalidVotesSubscription is returned if neither proposal ID nor party ID is specified.
	ErrInvalidVotesSubscription = errors.New("invalid subscription, either proposal or party ID required")
	// ErrInvalidProposal is returned when invalid governance data is received by proposal resolver.
	ErrInvalidProposal = errors.New("invalid proposal")
)
View Source
var ErrUnsupportedProduct = errors.New("unsupported product")
View Source
var ErrUnsupportedProposalTermsChanges = errors.New("unsupported proposal terms changes")
View Source
var ErrUnsupportedTransferKind = errors.New("unsupported transfer kind")

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type AccountBalanceResolver

type AccountBalanceResolver interface {
	Asset(ctx context.Context, obj *v2.AccountBalance) (*fury.Asset, error)

	Market(ctx context.Context, obj *v2.AccountBalance) (*fury.Market, error)
	Party(ctx context.Context, obj *v2.AccountBalance) (*fury.Party, error)
}

type AccountDetailsResolver

type AccountDetailsResolver interface {
	PartyID(ctx context.Context, obj *fury.AccountDetails) (*string, error)
}

type AccountEventResolver

type AccountEventResolver interface {
	Asset(ctx context.Context, obj *fury.Account) (*fury.Asset, error)

	Market(ctx context.Context, obj *fury.Account) (*fury.Market, error)
	Party(ctx context.Context, obj *fury.Account) (*fury.Party, error)
}

type AccountUpdateResolver

type AccountUpdateResolver interface {
	AssetID(ctx context.Context, obj *v2.AccountBalance) (string, error)

	PartyID(ctx context.Context, obj *v2.AccountBalance) (string, error)
}

type AggregatedLedgerEntryResolver

type AggregatedLedgerEntryResolver interface {
	FuryTime(ctx context.Context, obj *v2.AggregatedLedgerEntry) (int64, error)
}

type AssetResolver

type AssetResolver interface {
	Name(ctx context.Context, obj *fury.Asset) (string, error)
	Symbol(ctx context.Context, obj *fury.Asset) (string, error)
	Decimals(ctx context.Context, obj *fury.Asset) (int, error)
	Quantum(ctx context.Context, obj *fury.Asset) (string, error)
	Source(ctx context.Context, obj *fury.Asset) (AssetSource, error)

	InfrastructureFeeAccount(ctx context.Context, obj *fury.Asset) (*v2.AccountBalance, error)
	GlobalRewardPoolAccount(ctx context.Context, obj *fury.Asset) (*v2.AccountBalance, error)
	TakerFeeRewardAccount(ctx context.Context, obj *fury.Asset) (*v2.AccountBalance, error)
	MakerFeeRewardAccount(ctx context.Context, obj *fury.Asset) (*v2.AccountBalance, error)
	LpFeeRewardAccount(ctx context.Context, obj *fury.Asset) (*v2.AccountBalance, error)
	MarketProposerRewardAccount(ctx context.Context, obj *fury.Asset) (*v2.AccountBalance, error)
}

type AssetSource

type AssetSource interface {
	IsAssetSource()
}

One of the possible asset sources

func AssetSourceFromProto

func AssetSourceFromProto(pdetails *types.AssetDetails) (AssetSource, error)

type AuctionDuration

type AuctionDuration struct {
	// Duration of the auction in seconds
	DurationSecs int `json:"durationSecs"`
	// Target uncrossing trading volume
	Volume int `json:"volume"`
}

An auction duration is used to configure 3 auction periods: 1. `duration > 0`, `volume == 0`: The auction will last for at least N seconds. 2. `duration == 0`, `volume > 0`: The auction will end once the given volume will match at uncrossing. 3. `duration > 0`, `volume > 0`: The auction will take at least N seconds, but can end sooner if the market can trade a certain volume.

type AuctionEventResolver

type AuctionEventResolver interface {
	AuctionStart(ctx context.Context, obj *v1.AuctionEvent) (int64, error)
	AuctionEnd(ctx context.Context, obj *v1.AuctionEvent) (int64, error)
}

type BuiltinAsset

type BuiltinAsset struct {
	// Maximum amount that can be requested by a party through the built-in asset faucet at a time
	MaxFaucetAmountMint string `json:"maxFaucetAmountMint"`
}

A Fury builtin asset, mostly for testing purpose

func BuiltinAssetFromProto

func BuiltinAssetFromProto(ba *types.BuiltinAsset) *BuiltinAsset

func (BuiltinAsset) IsAssetSource

func (BuiltinAsset) IsAssetSource()

type BusEvent

type BusEvent struct {
	// The ID for this event
	ID string `json:"id"`
	// The block hash
	Block string `json:"block"`
	// The type of event
	Type BusEventType `json:"type"`
	// The payload - the wrapped event
	Event Event `json:"event"`
}

type BusEventType

type BusEventType string

Event types

const (
	// Fury Time has changed
	BusEventTypeTimeUpdate BusEventType = "TimeUpdate"
	// Collateral has deposited in to this Fury network via the bridge
	BusEventTypeDeposit BusEventType = "Deposit"
	// Collateral has been withdrawn from this Fury network via the bridge
	BusEventTypeWithdrawal BusEventType = "Withdrawal"
	// The results from processing at transaction
	BusEventTypeTransactionResult BusEventType = "TransactionResult"
)

func (BusEventType) IsValid

func (e BusEventType) IsValid() bool

func (BusEventType) MarshalGQL

func (e BusEventType) MarshalGQL(w io.Writer)

func (BusEventType) String

func (e BusEventType) String() string

func (*BusEventType) UnmarshalGQL

func (e *BusEventType) UnmarshalGQL(v interface{}) error

type CandleResolver

type CandleResolver interface {
	PeriodStart(ctx context.Context, obj *v2.Candle) (int64, error)
	LastUpdateInPeriod(ctx context.Context, obj *v2.Candle) (int64, error)

	Volume(ctx context.Context, obj *v2.Candle) (string, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	AccountBalance struct {
		Asset   func(childComplexity int) int
		Balance func(childComplexity int) int
		Market  func(childComplexity int) int
		Party   func(childComplexity int) int
		Type    func(childComplexity int) int
	}

	AccountDetails struct {
		AssetId  func(childComplexity int) int
		MarketId func(childComplexity int) int
		PartyID  func(childComplexity int) int
		Type     func(childComplexity int) int
	}

	AccountEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	AccountEvent struct {
		Asset   func(childComplexity int) int
		Balance func(childComplexity int) int
		Market  func(childComplexity int) int
		Party   func(childComplexity int) int
		Type    func(childComplexity int) int
	}

	AccountUpdate struct {
		AssetID  func(childComplexity int) int
		Balance  func(childComplexity int) int
		MarketId func(childComplexity int) int
		PartyID  func(childComplexity int) int
		Type     func(childComplexity int) int
	}

	AccountsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	AggregatedBalance struct {
		AccountType func(childComplexity int) int
		AssetId     func(childComplexity int) int
		Balance     func(childComplexity int) int
		MarketId    func(childComplexity int) int
		PartyId     func(childComplexity int) int
		Timestamp   func(childComplexity int) int
	}

	AggregatedBalanceConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	AggregatedBalanceEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	AggregatedLedgerEntriesConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	AggregatedLedgerEntriesEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	AggregatedLedgerEntry struct {
		AssetId             func(childComplexity int) int
		FromAccountBalance  func(childComplexity int) int
		FromAccountMarketId func(childComplexity int) int
		FromAccountPartyId  func(childComplexity int) int
		FromAccountType     func(childComplexity int) int
		Quantity            func(childComplexity int) int
		ToAccountBalance    func(childComplexity int) int
		ToAccountMarketId   func(childComplexity int) int
		ToAccountPartyId    func(childComplexity int) int
		ToAccountType       func(childComplexity int) int
		TransferType        func(childComplexity int) int
		FuryTime            func(childComplexity int) int
	}

	Asset struct {
		Decimals                    func(childComplexity int) int
		GlobalRewardPoolAccount     func(childComplexity int) int
		Id                          func(childComplexity int) int
		InfrastructureFeeAccount    func(childComplexity int) int
		LpFeeRewardAccount          func(childComplexity int) int
		MakerFeeRewardAccount       func(childComplexity int) int
		MarketProposerRewardAccount func(childComplexity int) int
		Name                        func(childComplexity int) int
		Quantum                     func(childComplexity int) int
		Source                      func(childComplexity int) int
		Status                      func(childComplexity int) int
		Symbol                      func(childComplexity int) int
		TakerFeeRewardAccount       func(childComplexity int) int
	}

	AssetEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	AssetsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	AuctionDuration struct {
		DurationSecs func(childComplexity int) int
		Volume       func(childComplexity int) int
	}

	AuctionEvent struct {
		AuctionEnd       func(childComplexity int) int
		AuctionStart     func(childComplexity int) int
		ExtensionTrigger func(childComplexity int) int
		Leave            func(childComplexity int) int
		MarketId         func(childComplexity int) int
		OpeningAuction   func(childComplexity int) int
		Trigger          func(childComplexity int) int
	}

	BuiltinAsset struct {
		MaxFaucetAmountMint func(childComplexity int) int
	}

	BusEvent struct {
		Block func(childComplexity int) int
		Event func(childComplexity int) int
		ID    func(childComplexity int) int
		Type  func(childComplexity int) int
	}

	Candle struct {
		Close              func(childComplexity int) int
		High               func(childComplexity int) int
		LastUpdateInPeriod func(childComplexity int) int
		Low                func(childComplexity int) int
		Open               func(childComplexity int) int
		PeriodStart        func(childComplexity int) int
		Volume             func(childComplexity int) int
	}

	CandleDataConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	CandleEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Condition struct {
		Operator func(childComplexity int) int
		Value    func(childComplexity int) int
	}

	ContinuousTrading struct {
		TickSize func(childComplexity int) int
	}

	CoreSnapshotConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	CoreSnapshotData struct {
		BlockHash       func(childComplexity int) int
		BlockHeight     func(childComplexity int) int
		FuryCoreVersion func(childComplexity int) int
	}

	CoreSnapshotEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Data struct {
		BroadcastAt    func(childComplexity int) int
		Data           func(childComplexity int) int
		MatchedSpecIds func(childComplexity int) int
		Signers        func(childComplexity int) int
	}

	DataSourceDefinition struct {
		SourceType func(childComplexity int) int
	}

	DataSourceDefinitionExternal struct {
		SourceType func(childComplexity int) int
	}

	DataSourceDefinitionInternal struct {
		SourceType func(childComplexity int) int
	}

	DataSourceSpec struct {
		CreatedAt func(childComplexity int) int
		Data      func(childComplexity int) int
		ID        func(childComplexity int) int
		Status    func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
	}

	DataSourceSpecConfiguration struct {
		Filters func(childComplexity int) int
		Signers func(childComplexity int) int
	}

	DataSourceSpecConfigurationTime struct {
		Conditions func(childComplexity int) int
	}

	DataSourceSpecToFutureBinding struct {
		SettlementDataProperty     func(childComplexity int) int
		TradingTerminationProperty func(childComplexity int) int
	}

	Delegation struct {
		Amount func(childComplexity int) int
		Epoch  func(childComplexity int) int
		Node   func(childComplexity int) int
		Party  func(childComplexity int) int
	}

	DelegationEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	DelegationsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	Deposit struct {
		Amount            func(childComplexity int) int
		Asset             func(childComplexity int) int
		CreatedTimestamp  func(childComplexity int) int
		CreditedTimestamp func(childComplexity int) int
		Id                func(childComplexity int) int
		Party             func(childComplexity int) int
		Status            func(childComplexity int) int
		TxHash            func(childComplexity int) int
	}

	DepositEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	DepositsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	DiscreteTrading struct {
		Duration func(childComplexity int) int
		TickSize func(childComplexity int) int
	}

	DispatchStrategy struct {
		DispatchMetric        func(childComplexity int) int
		DispatchMetricAssetID func(childComplexity int) int
		MarketIdsInScope      func(childComplexity int) int
	}

	ERC20 struct {
		ContractAddress   func(childComplexity int) int
		LifetimeLimit     func(childComplexity int) int
		WithdrawThreshold func(childComplexity int) int
	}

	ERC20MultiSigSignerAddedBundle struct {
		EpochSeq   func(childComplexity int) int
		NewSigner  func(childComplexity int) int
		Nonce      func(childComplexity int) int
		Signatures func(childComplexity int) int
		Submitter  func(childComplexity int) int
		Timestamp  func(childComplexity int) int
	}

	ERC20MultiSigSignerAddedBundleEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	ERC20MultiSigSignerAddedConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	ERC20MultiSigSignerRemovedBundle struct {
		EpochSeq   func(childComplexity int) int
		Nonce      func(childComplexity int) int
		OldSigner  func(childComplexity int) int
		Signatures func(childComplexity int) int
		Submitter  func(childComplexity int) int
		Timestamp  func(childComplexity int) int
	}

	ERC20MultiSigSignerRemovedBundleEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	ERC20MultiSigSignerRemovedConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	ERC20SetAssetLimitsBundle struct {
		AssetSource   func(childComplexity int) int
		LifetimeLimit func(childComplexity int) int
		Nonce         func(childComplexity int) int
		Signatures    func(childComplexity int) int
		Threshold     func(childComplexity int) int
		FuryAssetID   func(childComplexity int) int
	}

	ETHAddress struct {
		Address func(childComplexity int) int
	}

	Entities struct {
		Accounts                          func(childComplexity int) int
		Assets                            func(childComplexity int) int
		BalanceChanges                    func(childComplexity int) int
		Delegations                       func(childComplexity int) int
		Deposits                          func(childComplexity int) int
		Erc20MultiSigSignerAddedBundles   func(childComplexity int) int
		Erc20MultiSigSignerRemovedBundles func(childComplexity int) int
		EthereumKeyRotations              func(childComplexity int) int
		KeyRotations                      func(childComplexity int) int
		LedgerEntries                     func(childComplexity int) int
		LiquidityProvisions               func(childComplexity int) int
		MarginLevels                      func(childComplexity int) int
		Markets                           func(childComplexity int) int
		NetworkParameters                 func(childComplexity int) int
		NodeSignatures                    func(childComplexity int) int
		Nodes                             func(childComplexity int) int
		OracleData                        func(childComplexity int) int
		OracleSpecs                       func(childComplexity int) int
		Orders                            func(childComplexity int) int
		Parties                           func(childComplexity int) int
		Positions                         func(childComplexity int) int
		Proposals                         func(childComplexity int) int
		ProtocolUpgradeProposals          func(childComplexity int) int
		Rewards                           func(childComplexity int) int
		Trades                            func(childComplexity int) int
		Transfers                         func(childComplexity int) int
		Votes                             func(childComplexity int) int
		Withdrawals                       func(childComplexity int) int
	}

	Epoch struct {
		DelegationsConnection func(childComplexity int, partyID *string, nodeID *string, pagination *v2.Pagination) int
		ID                    func(childComplexity int) int
		Timestamps            func(childComplexity int) int
		ValidatorsConnection  func(childComplexity int, pagination *v2.Pagination) int
	}

	EpochData struct {
		Offline func(childComplexity int) int
		Online  func(childComplexity int) int
		Total   func(childComplexity int) int
	}

	EpochParticipation struct {
		Epoch        func(childComplexity int) int
		Offline      func(childComplexity int) int
		Online       func(childComplexity int) int
		TotalRewards func(childComplexity int) int
	}

	EpochRewardSummary struct {
		Amount     func(childComplexity int) int
		AssetId    func(childComplexity int) int
		Epoch      func(childComplexity int) int
		MarketId   func(childComplexity int) int
		RewardType func(childComplexity int) int
	}

	EpochRewardSummaryConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	EpochRewardSummaryEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	EpochTimestamps struct {
		End        func(childComplexity int) int
		Expiry     func(childComplexity int) int
		FirstBlock func(childComplexity int) int
		LastBlock  func(childComplexity int) int
		Start      func(childComplexity int) int
	}

	Erc20ListAssetBundle struct {
		AssetSource func(childComplexity int) int
		Nonce       func(childComplexity int) int
		Signatures  func(childComplexity int) int
		FuryAssetID func(childComplexity int) int
	}

	Erc20WithdrawalApproval struct {
		Amount        func(childComplexity int) int
		AssetSource   func(childComplexity int) int
		Creation      func(childComplexity int) int
		Nonce         func(childComplexity int) int
		Signatures    func(childComplexity int) int
		TargetAddress func(childComplexity int) int
	}

	Erc20WithdrawalDetails struct {
		ReceiverAddress func(childComplexity int) int
	}

	EthereumEvent struct {
		ContractID func(childComplexity int) int
		Event      func(childComplexity int) int
	}

	EthereumKeyRotation struct {
		BlockHeight func(childComplexity int) int
		NewAddress  func(childComplexity int) int
		NodeId      func(childComplexity int) int
		OldAddress  func(childComplexity int) int
	}

	EthereumKeyRotationEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	EthereumKeyRotationsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	ExternalData struct {
		Data func(childComplexity int) int
	}

	ExternalDataSourceSpec struct {
		Spec func(childComplexity int) int
	}

	FeeEstimate struct {
		Fees           func(childComplexity int) int
		TotalFeeAmount func(childComplexity int) int
	}

	FeeFactors struct {
		InfrastructureFee func(childComplexity int) int
		LiquidityFee      func(childComplexity int) int
		MakerFee          func(childComplexity int) int
	}

	Fees struct {
		Factors func(childComplexity int) int
	}

	Filter struct {
		Conditions func(childComplexity int) int
		Key        func(childComplexity int) int
	}

	Future struct {
		DataSourceSpecBinding               func(childComplexity int) int
		DataSourceSpecForSettlementData     func(childComplexity int) int
		DataSourceSpecForTradingTermination func(childComplexity int) int
		QuoteName                           func(childComplexity int) int
		SettlementAsset                     func(childComplexity int) int
	}

	FutureProduct struct {
		DataSourceSpecBinding               func(childComplexity int) int
		DataSourceSpecForSettlementData     func(childComplexity int) int
		DataSourceSpecForTradingTermination func(childComplexity int) int
		QuoteName                           func(childComplexity int) int
		SettlementAsset                     func(childComplexity int) int
	}

	HistorySegment struct {
		FromHeight       func(childComplexity int) int
		HistorySegmentId func(childComplexity int) int
		ToHeight         func(childComplexity int) int
	}

	Instrument struct {
		Code     func(childComplexity int) int
		Id       func(childComplexity int) int
		Metadata func(childComplexity int) int
		Name     func(childComplexity int) int
		Product  func(childComplexity int) int
	}

	InstrumentConfiguration struct {
		Code          func(childComplexity int) int
		FutureProduct func(childComplexity int) int
		Name          func(childComplexity int) int
	}

	InstrumentMetadata struct {
		Tags func(childComplexity int) int
	}

	KeyRotation struct {
		BlockHeight func(childComplexity int) int
		NewPubKey   func(childComplexity int) int
		NodeId      func(childComplexity int) int
		OldPubKey   func(childComplexity int) int
	}

	KeyRotationConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	KeyRotationEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	LedgerEntry struct {
		Amount             func(childComplexity int) int
		FromAccountBalance func(childComplexity int) int
		FromAccountID      func(childComplexity int) int
		Timestamp          func(childComplexity int) int
		ToAccountBalance   func(childComplexity int) int
		ToAccountID        func(childComplexity int) int
		Type               func(childComplexity int) int
	}

	LiquidationEstimate struct {
		BestCase  func(childComplexity int) int
		WorstCase func(childComplexity int) int
	}

	LiquidationPrice struct {
		IncludingBuyOrders  func(childComplexity int) int
		IncludingSellOrders func(childComplexity int) int
		OpenVolumeOnly      func(childComplexity int) int
	}

	LiquidityMonitoringParameters struct {
		AuctionExtensionSecs  func(childComplexity int) int
		TargetStakeParameters func(childComplexity int) int
		TriggeringRatio       func(childComplexity int) int
	}

	LiquidityOrder struct {
		Offset     func(childComplexity int) int
		Proportion func(childComplexity int) int
		Reference  func(childComplexity int) int
	}

	LiquidityOrderReference struct {
		LiquidityOrder func(childComplexity int) int
		Order          func(childComplexity int) int
	}

	LiquidityProviderFeeShare struct {
		AverageEntryValuation func(childComplexity int) int
		AverageScore          func(childComplexity int) int
		EquityLikeShare       func(childComplexity int) int
		Party                 func(childComplexity int) int
	}

	LiquidityProvision struct {
		Buys             func(childComplexity int) int
		CommitmentAmount func(childComplexity int) int
		CreatedAt        func(childComplexity int) int
		Fee              func(childComplexity int) int
		Id               func(childComplexity int) int
		Market           func(childComplexity int) int
		Party            func(childComplexity int) int
		Reference        func(childComplexity int) int
		Sells            func(childComplexity int) int
		Status           func(childComplexity int) int
		UpdatedAt        func(childComplexity int) int
		Version          func(childComplexity int) int
	}

	LiquidityProvisionUpdate struct {
		Buys             func(childComplexity int) int
		CommitmentAmount func(childComplexity int) int
		CreatedAt        func(childComplexity int) int
		Fee              func(childComplexity int) int
		Id               func(childComplexity int) int
		MarketId         func(childComplexity int) int
		PartyId          func(childComplexity int) int
		Reference        func(childComplexity int) int
		Sells            func(childComplexity int) int
		Status           func(childComplexity int) int
		UpdatedAt        func(childComplexity int) int
		Version          func(childComplexity int) int
	}

	LiquidityProvisionsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	LiquidityProvisionsEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	LogNormalModelParams struct {
		Mu    func(childComplexity int) int
		R     func(childComplexity int) int
		Sigma func(childComplexity int) int
	}

	LogNormalRiskModel struct {
		Params                func(childComplexity int) int
		RiskAversionParameter func(childComplexity int) int
		Tau                   func(childComplexity int) int
	}

	LossSocialization struct {
		Amount   func(childComplexity int) int
		MarketID func(childComplexity int) int
		PartyID  func(childComplexity int) int
	}

	MarginCalculator struct {
		ScalingFactors func(childComplexity int) int
	}

	MarginConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	MarginEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	MarginEstimate struct {
		BestCase  func(childComplexity int) int
		WorstCase func(childComplexity int) int
	}

	MarginLevels struct {
		Asset                  func(childComplexity int) int
		CollateralReleaseLevel func(childComplexity int) int
		InitialLevel           func(childComplexity int) int
		MaintenanceLevel       func(childComplexity int) int
		Market                 func(childComplexity int) int
		Party                  func(childComplexity int) int
		SearchLevel            func(childComplexity int) int
		Timestamp              func(childComplexity int) int
	}

	MarginLevelsUpdate struct {
		Asset                  func(childComplexity int) int
		CollateralReleaseLevel func(childComplexity int) int
		InitialLevel           func(childComplexity int) int
		MaintenanceLevel       func(childComplexity int) int
		MarketId               func(childComplexity int) int
		PartyId                func(childComplexity int) int
		SearchLevel            func(childComplexity int) int
		Timestamp              func(childComplexity int) int
	}

	Market struct {
		AccountsConnection            func(childComplexity int, partyID *string, pagination *v2.Pagination) int
		CandlesConnection             func(childComplexity int, since string, to *string, interval fury.Interval, pagination *v2.Pagination) int
		Data                          func(childComplexity int) int
		DecimalPlaces                 func(childComplexity int) int
		Depth                         func(childComplexity int, maxDepth *int) int
		Fees                          func(childComplexity int) int
		Id                            func(childComplexity int) int
		LinearSlippageFactor          func(childComplexity int) int
		LiquidityMonitoringParameters func(childComplexity int) int
		LiquidityProvisionsConnection func(childComplexity int, partyID *string, live *bool, pagination *v2.Pagination) int
		LpPriceRange                  func(childComplexity int) int
		MarketTimestamps              func(childComplexity int) int
		OpeningAuction                func(childComplexity int) int
		OrdersConnection              func(childComplexity int, pagination *v2.Pagination, filter *OrderByPartyIdsFilter) int
		PositionDecimalPlaces         func(childComplexity int) int
		PriceMonitoringSettings       func(childComplexity int) int
		Proposal                      func(childComplexity int) int
		QuadraticSlippageFactor       func(childComplexity int) int
		RiskFactors                   func(childComplexity int) int
		State                         func(childComplexity int) int
		TradableInstrument            func(childComplexity int) int
		TradesConnection              func(childComplexity int, dateRange *v2.DateRange, pagination *v2.Pagination) int
		TradingMode                   func(childComplexity int) int
	}

	MarketConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	MarketData struct {
		AuctionEnd                func(childComplexity int) int
		AuctionStart              func(childComplexity int) int
		BestBidPrice              func(childComplexity int) int
		BestBidVolume             func(childComplexity int) int
		BestOfferPrice            func(childComplexity int) int
		BestOfferVolume           func(childComplexity int) int
		BestStaticBidPrice        func(childComplexity int) int
		BestStaticBidVolume       func(childComplexity int) int
		BestStaticOfferPrice      func(childComplexity int) int
		BestStaticOfferVolume     func(childComplexity int) int
		Commitments               func(childComplexity int) int
		ExtensionTrigger          func(childComplexity int) int
		IndicativePrice           func(childComplexity int) int
		IndicativeVolume          func(childComplexity int) int
		LiquidityProviderFeeShare func(childComplexity int) int
		MarkPrice                 func(childComplexity int) int
		Market                    func(childComplexity int) int
		MarketState               func(childComplexity int) int
		MarketTradingMode         func(childComplexity int) int
		MarketValueProxy          func(childComplexity int) int
		MidPrice                  func(childComplexity int) int
		NextMarkToMarket          func(childComplexity int) int
		OpenInterest              func(childComplexity int) int
		PriceMonitoringBounds     func(childComplexity int) int
		StaticMidPrice            func(childComplexity int) int
		SuppliedStake             func(childComplexity int) int
		TargetStake               func(childComplexity int) int
		Timestamp                 func(childComplexity int) int
		Trigger                   func(childComplexity int) int
	}

	MarketDataCommitments struct {
		Buys  func(childComplexity int) int
		Sells func(childComplexity int) int
	}

	MarketDataConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	MarketDataEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	MarketDepth struct {
		Buy            func(childComplexity int) int
		LastTrade      func(childComplexity int) int
		Market         func(childComplexity int) int
		Sell           func(childComplexity int) int
		SequenceNumber func(childComplexity int) int
	}

	MarketDepthTrade struct {
		ID    func(childComplexity int) int
		Price func(childComplexity int) int
		Size  func(childComplexity int) int
	}

	MarketDepthUpdate struct {
		Buy                    func(childComplexity int) int
		Market                 func(childComplexity int) int
		PreviousSequenceNumber func(childComplexity int) int
		Sell                   func(childComplexity int) int
		SequenceNumber         func(childComplexity int) int
	}

	MarketEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	MarketEvent struct {
		MarketID func(childComplexity int) int
		Payload  func(childComplexity int) int
	}

	MarketTick struct {
		MarketID func(childComplexity int) int
		Time     func(childComplexity int) int
	}

	MarketTimestamps struct {
		Close    func(childComplexity int) int
		Open     func(childComplexity int) int
		Pending  func(childComplexity int) int
		Proposed func(childComplexity int) int
	}

	NetworkLimits struct {
		CanProposeAsset          func(childComplexity int) int
		CanProposeMarket         func(childComplexity int) int
		GenesisLoaded            func(childComplexity int) int
		ProposeAssetEnabled      func(childComplexity int) int
		ProposeAssetEnabledFrom  func(childComplexity int) int
		ProposeMarketEnabled     func(childComplexity int) int
		ProposeMarketEnabledFrom func(childComplexity int) int
	}

	NetworkParameter struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	NetworkParameterEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	NetworkParametersConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	NewAsset struct {
		Decimals func(childComplexity int) int
		Name     func(childComplexity int) int
		Quantum  func(childComplexity int) int
		Source   func(childComplexity int) int
		Symbol   func(childComplexity int) int
	}

	NewFreeform struct {
		DoNotUse func(childComplexity int) int
	}

	NewMarket struct {
		DecimalPlaces                 func(childComplexity int) int
		Instrument                    func(childComplexity int) int
		LinearSlippageFactor          func(childComplexity int) int
		LiquidityMonitoringParameters func(childComplexity int) int
		LpPriceRange                  func(childComplexity int) int
		Metadata                      func(childComplexity int) int
		PositionDecimalPlaces         func(childComplexity int) int
		PriceMonitoringParameters     func(childComplexity int) int
		QuadraticSlippageFactor       func(childComplexity int) int
		RiskParameters                func(childComplexity int) int
	}

	Node struct {
		AvatarUrl             func(childComplexity int) int
		DelegationsConnection func(childComplexity int, partyID *string, pagination *v2.Pagination) int
		EpochData             func(childComplexity int) int
		EthereumAddress       func(childComplexity int) int
		Id                    func(childComplexity int) int
		InfoUrl               func(childComplexity int) int
		Location              func(childComplexity int) int
		Name                  func(childComplexity int) int
		PendingStake          func(childComplexity int) int
		PubKey                func(childComplexity int) int
		RankingScore          func(childComplexity int) int
		RewardScore           func(childComplexity int) int
		StakedByDelegates     func(childComplexity int) int
		StakedByOperator      func(childComplexity int) int
		StakedTotal           func(childComplexity int) int
		Status                func(childComplexity int) int
		TmPubKey              func(childComplexity int) int
	}

	NodeBasic struct {
		AvatarUrl       func(childComplexity int) int
		EthereumAddress func(childComplexity int) int
		Id              func(childComplexity int) int
		InfoUrl         func(childComplexity int) int
		Location        func(childComplexity int) int
		Name            func(childComplexity int) int
		PubKey          func(childComplexity int) int
		Status          func(childComplexity int) int
		TmPubKey        func(childComplexity int) int
	}

	NodeData struct {
		ErsatzNodes     func(childComplexity int) int
		InactiveNodes   func(childComplexity int) int
		PendingNodes    func(childComplexity int) int
		StakedTotal     func(childComplexity int) int
		TendermintNodes func(childComplexity int) int
		TotalNodes      func(childComplexity int) int
		Uptime          func(childComplexity int) int
	}

	NodeEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	NodeSet struct {
		Demoted  func(childComplexity int) int
		Inactive func(childComplexity int) int
		Maximum  func(childComplexity int) int
		Promoted func(childComplexity int) int
		Total    func(childComplexity int) int
	}

	NodeSignature struct {
		Id        func(childComplexity int) int
		Kind      func(childComplexity int) int
		Signature func(childComplexity int) int
	}

	NodeSignatureEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	NodeSignaturesConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	NodesConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	ObservableLiquidityProviderFeeShare struct {
		AverageEntryValuation func(childComplexity int) int
		AverageScore          func(childComplexity int) int
		EquityLikeShare       func(childComplexity int) int
		PartyID               func(childComplexity int) int
	}

	ObservableMarketData struct {
		AuctionEnd                func(childComplexity int) int
		AuctionStart              func(childComplexity int) int
		BestBidPrice              func(childComplexity int) int
		BestBidVolume             func(childComplexity int) int
		BestOfferPrice            func(childComplexity int) int
		BestOfferVolume           func(childComplexity int) int
		BestStaticBidPrice        func(childComplexity int) int
		BestStaticBidVolume       func(childComplexity int) int
		BestStaticOfferPrice      func(childComplexity int) int
		BestStaticOfferVolume     func(childComplexity int) int
		ExtensionTrigger          func(childComplexity int) int
		IndicativePrice           func(childComplexity int) int
		IndicativeVolume          func(childComplexity int) int
		LiquidityProviderFeeShare func(childComplexity int) int
		MarkPrice                 func(childComplexity int) int
		MarketID                  func(childComplexity int) int
		MarketState               func(childComplexity int) int
		MarketTradingMode         func(childComplexity int) int
		MarketValueProxy          func(childComplexity int) int
		MidPrice                  func(childComplexity int) int
		NextMarkToMarket          func(childComplexity int) int
		OpenInterest              func(childComplexity int) int
		PriceMonitoringBounds     func(childComplexity int) int
		StaticMidPrice            func(childComplexity int) int
		SuppliedStake             func(childComplexity int) int
		TargetStake               func(childComplexity int) int
		Timestamp                 func(childComplexity int) int
		Trigger                   func(childComplexity int) int
	}

	ObservableMarketDepth struct {
		Buy            func(childComplexity int) int
		LastTrade      func(childComplexity int) int
		MarketId       func(childComplexity int) int
		Sell           func(childComplexity int) int
		SequenceNumber func(childComplexity int) int
	}

	ObservableMarketDepthUpdate struct {
		Buy                    func(childComplexity int) int
		MarketId               func(childComplexity int) int
		PreviousSequenceNumber func(childComplexity int) int
		Sell                   func(childComplexity int) int
		SequenceNumber         func(childComplexity int) int
	}

	OneOffTransfer struct {
		DeliverOn func(childComplexity int) int
	}

	OracleData struct {
		ExternalData func(childComplexity int) int
	}

	OracleDataConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	OracleDataEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	OracleSpec struct {
		DataConnection func(childComplexity int, pagination *v2.Pagination) int
		DataSourceSpec func(childComplexity int) int
	}

	OracleSpecEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	OracleSpecsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	Order struct {
		CreatedAt          func(childComplexity int) int
		ExpiresAt          func(childComplexity int) int
		Id                 func(childComplexity int) int
		LiquidityProvision func(childComplexity int) int
		Market             func(childComplexity int) int
		Party              func(childComplexity int) int
		PeggedOrder        func(childComplexity int) int
		PostOnly           func(childComplexity int) int
		Price              func(childComplexity int) int
		ReduceOnly         func(childComplexity int) int
		Reference          func(childComplexity int) int
		RejectionReason    func(childComplexity int) int
		Remaining          func(childComplexity int) int
		Side               func(childComplexity int) int
		Size               func(childComplexity int) int
		Status             func(childComplexity int) int
		TimeInForce        func(childComplexity int) int
		TradesConnection   func(childComplexity int, dateRange *v2.DateRange, pagination *v2.Pagination) int
		Type               func(childComplexity int) int
		UpdatedAt          func(childComplexity int) int
		Version            func(childComplexity int) int
	}

	OrderConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	OrderEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	OrderEstimate struct {
		Fee            func(childComplexity int) int
		MarginLevels   func(childComplexity int) int
		TotalFeeAmount func(childComplexity int) int
	}

	OrderUpdate struct {
		CreatedAt            func(childComplexity int) int
		ExpiresAt            func(childComplexity int) int
		Id                   func(childComplexity int) int
		LiquidityProvisionId func(childComplexity int) int
		MarketId             func(childComplexity int) int
		PartyId              func(childComplexity int) int
		PeggedOrder          func(childComplexity int) int
		Price                func(childComplexity int) int
		Reference            func(childComplexity int) int
		RejectionReason      func(childComplexity int) int
		Remaining            func(childComplexity int) int
		Side                 func(childComplexity int) int
		Size                 func(childComplexity int) int
		Status               func(childComplexity int) int
		TimeInForce          func(childComplexity int) int
		Type                 func(childComplexity int) int
		UpdatedAt            func(childComplexity int) int
		Version              func(childComplexity int) int
	}

	PageInfo struct {
		EndCursor       func(childComplexity int) int
		HasNextPage     func(childComplexity int) int
		HasPreviousPage func(childComplexity int) int
		StartCursor     func(childComplexity int) int
	}

	Party struct {
		AccountsConnection            func(childComplexity int, marketID *string, assetID *string, typeArg *fury.AccountType, pagination *v2.Pagination) int
		DelegationsConnection         func(childComplexity int, nodeID *string, pagination *v2.Pagination) int
		DepositsConnection            func(childComplexity int, dateRange *v2.DateRange, pagination *v2.Pagination) int
		Id                            func(childComplexity int) int
		LiquidityProvisionsConnection func(childComplexity int, marketID *string, reference *string, live *bool, pagination *v2.Pagination) int
		MarginsConnection             func(childComplexity int, marketID *string, pagination *v2.Pagination) int
		OrdersConnection              func(childComplexity int, pagination *v2.Pagination, filter *OrderByMarketIdsFilter) int
		PositionsConnection           func(childComplexity int, market *string, pagination *v2.Pagination) int
		ProposalsConnection           func(childComplexity int, proposalType *v2.ListGovernanceDataRequest_Type, inState *fury.Proposal_State, pagination *v2.Pagination) int
		RewardSummaries               func(childComplexity int, assetID *string) int
		RewardsConnection             func(childComplexity int, assetID *string, pagination *v2.Pagination, fromEpoch *int, toEpoch *int) int
		StakingSummary                func(childComplexity int, pagination *v2.Pagination) int
		TradesConnection              func(childComplexity int, marketID *string, dataRange *v2.DateRange, pagination *v2.Pagination) int
		TransfersConnection           func(childComplexity int, direction *TransferDirection, pagination *v2.Pagination) int
		VotesConnection               func(childComplexity int, pagination *v2.Pagination) int
		WithdrawalsConnection         func(childComplexity int, dateRange *v2.DateRange, pagination *v2.Pagination) int
	}

	PartyConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	PartyEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	PartyStake struct {
		CurrentStakeAvailable func(childComplexity int) int
		Linkings              func(childComplexity int) int
	}

	PeggedOrder struct {
		Offset    func(childComplexity int) int
		Reference func(childComplexity int) int
	}

	Position struct {
		AverageEntryPrice       func(childComplexity int) int
		LossSocializationAmount func(childComplexity int) int
		MarginsConnection       func(childComplexity int, pagination *v2.Pagination) int
		Market                  func(childComplexity int) int
		OpenVolume              func(childComplexity int) int
		Party                   func(childComplexity int) int
		PositionStatus          func(childComplexity int) int
		RealisedPnl             func(childComplexity int) int
		UnrealisedPnl           func(childComplexity int) int
		UpdatedAt               func(childComplexity int) int
	}

	PositionConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	PositionEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	PositionEstimate struct {
		Liquidation func(childComplexity int) int
		Margin      func(childComplexity int) int
	}

	PositionResolution struct {
		Closed     func(childComplexity int) int
		Distressed func(childComplexity int) int
		MarkPrice  func(childComplexity int) int
		MarketID   func(childComplexity int) int
	}

	PositionUpdate struct {
		AverageEntryPrice       func(childComplexity int) int
		LossSocializationAmount func(childComplexity int) int
		MarketId                func(childComplexity int) int
		OpenVolume              func(childComplexity int) int
		PartyId                 func(childComplexity int) int
		PositionStatus          func(childComplexity int) int
		RealisedPnl             func(childComplexity int) int
		UnrealisedPnl           func(childComplexity int) int
		UpdatedAt               func(childComplexity int) int
	}

	PriceLevel struct {
		NumberOfOrders func(childComplexity int) int
		Price          func(childComplexity int) int
		Volume         func(childComplexity int) int
	}

	PriceMonitoringBounds struct {
		MaxValidPrice  func(childComplexity int) int
		MinValidPrice  func(childComplexity int) int
		ReferencePrice func(childComplexity int) int
		Trigger        func(childComplexity int) int
	}

	PriceMonitoringParameters struct {
		Triggers func(childComplexity int) int
	}

	PriceMonitoringSettings struct {
		Parameters func(childComplexity int) int
	}

	PriceMonitoringTrigger struct {
		AuctionExtensionSecs func(childComplexity int) int
		HorizonSecs          func(childComplexity int) int
		Probability          func(childComplexity int) int
	}

	Property struct {
		Name  func(childComplexity int) int
		Value func(childComplexity int) int
	}

	PropertyKey struct {
		Name                func(childComplexity int) int
		NumberDecimalPlaces func(childComplexity int) int
		Type                func(childComplexity int) int
	}

	Proposal struct {
		Datetime                func(childComplexity int) int
		ErrorDetails            func(childComplexity int) int
		ID                      func(childComplexity int) int
		Party                   func(childComplexity int) int
		Rationale               func(childComplexity int) int
		Reference               func(childComplexity int) int
		RejectionReason         func(childComplexity int) int
		RequiredLpMajority      func(childComplexity int) int
		RequiredLpParticipation func(childComplexity int) int
		RequiredMajority        func(childComplexity int) int
		RequiredParticipation   func(childComplexity int) int
		State                   func(childComplexity int) int
		Terms                   func(childComplexity int) int
		Votes                   func(childComplexity int) int
	}

	ProposalDetail struct {
		Datetime                func(childComplexity int) int
		ErrorDetails            func(childComplexity int) int
		Id                      func(childComplexity int) int
		Party                   func(childComplexity int) int
		Rationale               func(childComplexity int) int
		Reference               func(childComplexity int) int
		RejectionReason         func(childComplexity int) int
		RequiredLpMajority      func(childComplexity int) int
		RequiredLpParticipation func(childComplexity int) int
		RequiredMajority        func(childComplexity int) int
		RequiredParticipation   func(childComplexity int) int
		State                   func(childComplexity int) int
		Terms                   func(childComplexity int) int
	}

	ProposalEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	ProposalRationale struct {
		Description func(childComplexity int) int
		Title       func(childComplexity int) int
	}

	ProposalTerms struct {
		Change             func(childComplexity int) int
		ClosingDatetime    func(childComplexity int) int
		EnactmentDatetime  func(childComplexity int) int
		ValidationDatetime func(childComplexity int) int
	}

	ProposalVote struct {
		ProposalID func(childComplexity int) int
		Vote       func(childComplexity int) int
	}

	ProposalVoteConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	ProposalVoteEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	ProposalVoteSide struct {
		TotalEquityLikeShareWeight func(childComplexity int) int
		TotalNumber                func(childComplexity int) int
		TotalTokens                func(childComplexity int) int
		TotalWeight                func(childComplexity int) int
		Votes                      func(childComplexity int) int
	}

	ProposalVotes struct {
		No  func(childComplexity int) int
		Yes func(childComplexity int) int
	}

	ProposalsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	ProtocolUpgradeProposal struct {
		Approvers          func(childComplexity int) int
		Status             func(childComplexity int) int
		UpgradeBlockHeight func(childComplexity int) int
		FuryReleaseTag     func(childComplexity int) int
	}

	ProtocolUpgradeProposalConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	ProtocolUpgradeProposalEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	ProtocolUpgradeStatus struct {
		Ready func(childComplexity int) int
	}

	PubKey struct {
		Key func(childComplexity int) int
	}

	Query struct {
		Asset                              func(childComplexity int, id string) int
		AssetsConnection                   func(childComplexity int, id *string, pagination *v2.Pagination) int
		BalanceChanges                     func(childComplexity int, filter *v2.AccountFilter, dateRange *v2.DateRange, pagination *v2.Pagination) int
		CoreSnapshots                      func(childComplexity int, pagination *v2.Pagination) int
		Deposit                            func(childComplexity int, id string) int
		Deposits                           func(childComplexity int, dateRange *v2.DateRange, pagination *v2.Pagination) int
		Entities                           func(childComplexity int, txHash string) int
		Epoch                              func(childComplexity int, id *string) int
		EpochRewardSummaries               func(childComplexity int, filter *v2.RewardSummaryFilter, pagination *v2.Pagination) int
		Erc20ListAssetBundle               func(childComplexity int, assetID string) int
		Erc20MultiSigSignerAddedBundles    func(childComplexity int, nodeID string, submitter *string, epochSeq *string, pagination *v2.Pagination) int
		Erc20MultiSigSignerRemovedBundles  func(childComplexity int, nodeID string, submitter *string, epochSeq *string, pagination *v2.Pagination) int
		Erc20SetAssetLimitsBundle          func(childComplexity int, proposalID string) int
		Erc20WithdrawalApproval            func(childComplexity int, withdrawalID string) int
		EstimateFees                       func(childComplexity int, marketID string, partyID string, price *string, size string, side fury.Side, timeInForce fury.Order_TimeInForce, expiration *int64, typeArg fury.Order_Type) int
		EstimateOrder                      func(childComplexity int, marketID string, partyID string, price *string, size string, side fury.Side, timeInForce fury.Order_TimeInForce, expiration *int64, typeArg fury.Order_Type) int
		EstimatePosition                   func(childComplexity int, marketID string, openVolume string, orders []*OrderInfo, collateralAvailable *string) int
		EthereumKeyRotations               func(childComplexity int, nodeID *string) int
		GetMarketDataHistoryConnectionByID func(childComplexity int, id string, start *int64, end *int64, pagination *v2.Pagination) int
		KeyRotationsConnection             func(childComplexity int, id *string, pagination *v2.Pagination) int
		LastBlockHeight                    func(childComplexity int) int
		LedgerEntries                      func(childComplexity int, filter *v2.LedgerEntryFilter, dateRange *v2.DateRange, pagination *v2.Pagination) int
		Market                             func(childComplexity int, id string) int
		MarketsConnection                  func(childComplexity int, id *string, pagination *v2.Pagination, includeSettled *bool) int
		MostRecentHistorySegment           func(childComplexity int) int
		NetworkLimits                      func(childComplexity int) int
		NetworkParameter                   func(childComplexity int, key string) int
		NetworkParametersConnection        func(childComplexity int, pagination *v2.Pagination) int
		Node                               func(childComplexity int, id string) int
		NodeData                           func(childComplexity int) int
		NodeSignaturesConnection           func(childComplexity int, resourceID string, pagination *v2.Pagination) int
		NodesConnection                    func(childComplexity int, pagination *v2.Pagination) int
		OracleDataBySpecConnection         func(childComplexity int, oracleSpecID string, pagination *v2.Pagination) int
		OracleDataConnection               func(childComplexity int, pagination *v2.Pagination) int
		OracleSpec                         func(childComplexity int, oracleSpecID string) int
		OracleSpecsConnection              func(childComplexity int, pagination *v2.Pagination) int
		OrderByID                          func(childComplexity int, id string, version *int) int
		OrderByReference                   func(childComplexity int, reference string) int
		OrderVersionsConnection            func(childComplexity int, orderID *string, pagination *v2.Pagination) int
		PartiesConnection                  func(childComplexity int, id *string, pagination *v2.Pagination) int
		Party                              func(childComplexity int, id string) int
		Positions                          func(childComplexity int, filter *v2.PositionsFilter, pagination *v2.Pagination) int
		Proposal                           func(childComplexity int, id *string, reference *string) int
		ProposalsConnection                func(childComplexity int, proposalType *v2.ListGovernanceDataRequest_Type, inState *fury.Proposal_State, pagination *v2.Pagination) int
		ProtocolUpgradeProposals           func(childComplexity int, inState *v1.ProtocolUpgradeProposalStatus, approvedBy *string, pagination *v2.Pagination) int
		ProtocolUpgradeStatus              func(childComplexity int) int
		Statistics                         func(childComplexity int) int
		Trades                             func(childComplexity int, filter *TradesFilter, pagination *v2.Pagination, dateRange *v2.DateRange) int
		TransfersConnection                func(childComplexity int, partyID *string, direction *TransferDirection, pagination *v2.Pagination) int
		Withdrawal                         func(childComplexity int, id string) int
		Withdrawals                        func(childComplexity int, dateRange *v2.DateRange, pagination *v2.Pagination) int
	}

	RankingScore struct {
		PerformanceScore func(childComplexity int) int
		PreviousStatus   func(childComplexity int) int
		RankingScore     func(childComplexity int) int
		StakeScore       func(childComplexity int) int
		Status           func(childComplexity int) int
		VotingPower      func(childComplexity int) int
	}

	RecurringTransfer struct {
		DispatchStrategy func(childComplexity int) int
		EndEpoch         func(childComplexity int) int
		Factor           func(childComplexity int) int
		StartEpoch       func(childComplexity int) int
	}

	Reward struct {
		Amount            func(childComplexity int) int
		Asset             func(childComplexity int) int
		Epoch             func(childComplexity int) int
		MarketId          func(childComplexity int) int
		Party             func(childComplexity int) int
		PercentageOfTotal func(childComplexity int) int
		ReceivedAt        func(childComplexity int) int
		RewardType        func(childComplexity int) int
	}

	RewardEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	RewardScore struct {
		MultisigScore     func(childComplexity int) int
		NormalisedScore   func(childComplexity int) int
		PerformanceScore  func(childComplexity int) int
		RawValidatorScore func(childComplexity int) int
		ValidatorScore    func(childComplexity int) int
		ValidatorStatus   func(childComplexity int) int
	}

	RewardSummary struct {
		Amount            func(childComplexity int) int
		Asset             func(childComplexity int) int
		RewardsConnection func(childComplexity int, assetID *string, pagination *v2.Pagination) int
	}

	RewardSummaryConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	RewardSummaryEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	RewardsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	RiskFactor struct {
		Long   func(childComplexity int) int
		Market func(childComplexity int) int
		Short  func(childComplexity int) int
	}

	ScalingFactors struct {
		CollateralRelease func(childComplexity int) int
		InitialMargin     func(childComplexity int) int
		SearchLevel       func(childComplexity int) int
	}

	SettleDistressed struct {
		Margin   func(childComplexity int) int
		MarketID func(childComplexity int) int
		PartyID  func(childComplexity int) int
		Price    func(childComplexity int) int
	}

	SettlePosition struct {
		MarketID         func(childComplexity int) int
		PartyID          func(childComplexity int) int
		Price            func(childComplexity int) int
		TradeSettlements func(childComplexity int) int
	}

	Signer struct {
		Signer func(childComplexity int) int
	}

	SimpleRiskModel struct {
		Params func(childComplexity int) int
	}

	SimpleRiskModelParams struct {
		FactorLong  func(childComplexity int) int
		FactorShort func(childComplexity int) int
	}

	StakeLinking struct {
		Amount      func(childComplexity int) int
		BlockHeight func(childComplexity int) int
		FinalizedAt func(childComplexity int) int
		Id          func(childComplexity int) int
		Party       func(childComplexity int) int
		Status      func(childComplexity int) int
		Timestamp   func(childComplexity int) int
		TxHash      func(childComplexity int) int
		Type        func(childComplexity int) int
	}

	StakeLinkingEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	StakesConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	StakingSummary struct {
		CurrentStakeAvailable func(childComplexity int) int
		Linkings              func(childComplexity int, pagination *v2.Pagination) int
	}

	Statistics struct {
		AppVersion            func(childComplexity int) int
		AppVersionHash        func(childComplexity int) int
		AverageOrdersPerBlock func(childComplexity int) int
		AverageTxBytes        func(childComplexity int) int
		BacklogLength         func(childComplexity int) int
		BlockDuration         func(childComplexity int) int
		BlockHash             func(childComplexity int) int
		BlockHeight           func(childComplexity int) int
		ChainId               func(childComplexity int) int
		ChainVersion          func(childComplexity int) int
		CurrentTime           func(childComplexity int) int
		EventCount            func(childComplexity int) int
		EventsPerSecond       func(childComplexity int) int
		GenesisTime           func(childComplexity int) int
		OrdersPerSecond       func(childComplexity int) int
		Status                func(childComplexity int) int
		TotalAmendOrder       func(childComplexity int) int
		TotalCancelOrder      func(childComplexity int) int
		TotalCreateOrder      func(childComplexity int) int
		TotalMarkets          func(childComplexity int) int
		TotalOrders           func(childComplexity int) int
		TotalPeers            func(childComplexity int) int
		TotalTrades           func(childComplexity int) int
		TradesPerSecond       func(childComplexity int) int
		TxPerBlock            func(childComplexity int) int
		Uptime                func(childComplexity int) int
		FuryTime              func(childComplexity int) int
	}

	Subscription struct {
		Accounts            func(childComplexity int, marketID *string, partyID *string, assetID *string, typeArg *fury.AccountType) int
		BusEvents           func(childComplexity int, types []BusEventType, marketID *string, partyID *string, batchSize int) int
		Candles             func(childComplexity int, marketID string, interval fury.Interval) int
		LiquidityProvisions func(childComplexity int, partyID *string, marketID *string) int
		Margins             func(childComplexity int, partyID string, marketID *string) int
		MarketsData         func(childComplexity int, marketIds []string) int
		MarketsDepth        func(childComplexity int, marketIds []string) int
		MarketsDepthUpdate  func(childComplexity int, marketIds []string) int
		Orders              func(childComplexity int, filter *OrderByMarketAndPartyIdsFilter) int
		Positions           func(childComplexity int, partyID *string, marketID *string) int
		Proposals           func(childComplexity int, partyID *string) int
		Trades              func(childComplexity int, marketID *string, partyID *string) int
		TradesStream        func(childComplexity int, filter TradesSubscriptionFilter) int
		Votes               func(childComplexity int, proposalID *string, partyID *string) int
	}

	TargetStakeParameters struct {
		ScalingFactor func(childComplexity int) int
		TimeWindow    func(childComplexity int) int
	}

	TimeUpdate struct {
		Timestamp func(childComplexity int) int
	}

	TradableInstrument struct {
		Instrument       func(childComplexity int) int
		MarginCalculator func(childComplexity int) int
		RiskModel        func(childComplexity int) int
	}

	Trade struct {
		Aggressor          func(childComplexity int) int
		BuyOrder           func(childComplexity int) int
		Buyer              func(childComplexity int) int
		BuyerAuctionBatch  func(childComplexity int) int
		BuyerFee           func(childComplexity int) int
		CreatedAt          func(childComplexity int) int
		Id                 func(childComplexity int) int
		Market             func(childComplexity int) int
		Price              func(childComplexity int) int
		SellOrder          func(childComplexity int) int
		Seller             func(childComplexity int) int
		SellerAuctionBatch func(childComplexity int) int
		SellerFee          func(childComplexity int) int
		Size               func(childComplexity int) int
		Type               func(childComplexity int) int
	}

	TradeConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	TradeEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	TradeFee struct {
		InfrastructureFee func(childComplexity int) int
		LiquidityFee      func(childComplexity int) int
		MakerFee          func(childComplexity int) int
	}

	TradeSettlement struct {
		Price func(childComplexity int) int
		Size  func(childComplexity int) int
	}

	TradeUpdate struct {
		Aggressor          func(childComplexity int) int
		BuyOrder           func(childComplexity int) int
		BuyerAuctionBatch  func(childComplexity int) int
		BuyerFee           func(childComplexity int) int
		BuyerID            func(childComplexity int) int
		CreatedAt          func(childComplexity int) int
		Id                 func(childComplexity int) int
		MarketId           func(childComplexity int) int
		Price              func(childComplexity int) int
		SellOrder          func(childComplexity int) int
		SellerAuctionBatch func(childComplexity int) int
		SellerFee          func(childComplexity int) int
		SellerID           func(childComplexity int) int
		Size               func(childComplexity int) int
		Type               func(childComplexity int) int
	}

	TransactionResult struct {
		Error   func(childComplexity int) int
		Hash    func(childComplexity int) int
		PartyId func(childComplexity int) int
		Status  func(childComplexity int) int
	}

	TransactionSubmitted struct {
		Success func(childComplexity int) int
	}

	Transfer struct {
		Amount          func(childComplexity int) int
		Asset           func(childComplexity int) int
		From            func(childComplexity int) int
		FromAccountType func(childComplexity int) int
		Id              func(childComplexity int) int
		Kind            func(childComplexity int) int
		Reason          func(childComplexity int) int
		Reference       func(childComplexity int) int
		Status          func(childComplexity int) int
		Timestamp       func(childComplexity int) int
		To              func(childComplexity int) int
		ToAccountType   func(childComplexity int) int
	}

	TransferBalance struct {
		Account func(childComplexity int) int
		Balance func(childComplexity int) int
	}

	TransferConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	TransferEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	TransferResponse struct {
		Balances  func(childComplexity int) int
		Transfers func(childComplexity int) int
	}

	TransferResponses struct {
		Responses func(childComplexity int) int
	}

	UpdateAsset struct {
		AssetId func(childComplexity int) int
		Quantum func(childComplexity int) int
		Source  func(childComplexity int) int
	}

	UpdateERC20 struct {
		LifetimeLimit     func(childComplexity int) int
		WithdrawThreshold func(childComplexity int) int
	}

	UpdateFutureProduct struct {
		DataSourceSpecBinding               func(childComplexity int) int
		DataSourceSpecForSettlementData     func(childComplexity int) int
		DataSourceSpecForTradingTermination func(childComplexity int) int
		QuoteName                           func(childComplexity int) int
	}

	UpdateInstrumentConfiguration struct {
		Code    func(childComplexity int) int
		Product func(childComplexity int) int
	}

	UpdateMarket struct {
		MarketId                  func(childComplexity int) int
		UpdateMarketConfiguration func(childComplexity int) int
	}

	UpdateMarketConfiguration struct {
		Instrument                    func(childComplexity int) int
		LiquidityMonitoringParameters func(childComplexity int) int
		Metadata                      func(childComplexity int) int
		PriceMonitoringParameters     func(childComplexity int) int
		RiskParameters                func(childComplexity int) int
	}

	UpdateMarketLogNormalRiskModel struct {
		LogNormal func(childComplexity int) int
	}

	UpdateMarketSimpleRiskModel struct {
		Simple func(childComplexity int) int
	}

	UpdateNetworkParameter struct {
		NetworkParameter func(childComplexity int) int
	}

	Vote struct {
		Datetime               func(childComplexity int) int
		EquityLikeShareWeight  func(childComplexity int) int
		GovernanceTokenBalance func(childComplexity int) int
		GovernanceTokenWeight  func(childComplexity int) int
		Party                  func(childComplexity int) int
		ProposalId             func(childComplexity int) int
		Value                  func(childComplexity int) int
	}

	VoteConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}

	VoteEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	Withdrawal struct {
		Amount             func(childComplexity int) int
		Asset              func(childComplexity int) int
		CreatedTimestamp   func(childComplexity int) int
		Details            func(childComplexity int) int
		Id                 func(childComplexity int) int
		Party              func(childComplexity int) int
		Ref                func(childComplexity int) int
		Status             func(childComplexity int) int
		TxHash             func(childComplexity int) int
		WithdrawnTimestamp func(childComplexity int) int
	}

	WithdrawalEdge struct {
		Cursor func(childComplexity int) int
		Node   func(childComplexity int) int
	}

	WithdrawalsConnection struct {
		Edges    func(childComplexity int) int
		PageInfo func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type ContinuousTrading

type ContinuousTrading struct {
	// Size of an increment in price in terms of the quote currency
	TickSize string `json:"tickSize"`
}

A mode where Fury tries to execute orders as soon as they are received

type CoreProxyServiceClient

type CoreProxyServiceClient interface {
	furyprotoapi.CoreServiceClient
}

CoreProxyServiceClient ...

type CoreSnapshotDataResolver

type CoreSnapshotDataResolver interface {
	BlockHeight(ctx context.Context, obj *v1.CoreSnapshotData) (string, error)

	FuryCoreVersion(ctx context.Context, obj *v1.CoreSnapshotData) (string, error)
}

type Data

type Data struct {
	// signers is the list of public keys/ETH addresses that signed the data
	Signers []*Signer `json:"signers"`
	// properties contains all the properties sent by a data source
	Data []*v1.Property `json:"data"`
	// List of all the data specs that matched this source data.
	// When the array is empty, it means no data spec matched this source data.
	MatchedSpecIds []string `json:"matchedSpecIds"`
	// RFC3339Nano formatted date and time for when the data was broadcast to the markets
	// with a matching data spec.
	// It has no value when the source data does not match any data spec.
	BroadcastAt int64 `json:"broadcastAt"`
}

A data source contains the data sent by a data source

type DataSourceDefinition

type DataSourceDefinition struct {
	SourceType DataSourceKind `json:"sourceType"`
}

DataSourceDefinition represents the top level object that deals with data sources. DataSourceDefinition can be external or internal, with whatever number of data sources are defined for each type in the child objects below.

type DataSourceDefinitionExternal

type DataSourceDefinitionExternal struct {
	SourceType ExternalDataSourceKind `json:"sourceType"`
}

DataSourceDefinitionExternal is the top level object used for all external data sources. It contains one of any of the defined `SourceType` variants.

func (DataSourceDefinitionExternal) IsDataSourceKind

func (DataSourceDefinitionExternal) IsDataSourceKind()

type DataSourceDefinitionInternal

type DataSourceDefinitionInternal struct {
	SourceType InternalDataSourceKind `json:"sourceType"`
}

DataSourceDefinitionInternal is the top level object used for all internal data sources. It contains one of any of the defined `SourceType` variants.

func (DataSourceDefinitionInternal) IsDataSourceKind

func (DataSourceDefinitionInternal) IsDataSourceKind()

type DataSourceKind

type DataSourceKind interface {
	IsDataSourceKind()
}

type DataSourceSpec

type DataSourceSpec struct {
	// ID is a hash generated from the DataSourceSpec data.
	ID string `json:"id"`
	// RFC3339Nano creation date time
	CreatedAt int64 `json:"createdAt"`
	// RFC3339Nano last updated timestamp
	UpdatedAt *int64                `json:"updatedAt"`
	Data      *DataSourceDefinition `json:"data"`
	// Status describes the status of the data source spec
	Status DataSourceSpecStatus `json:"status"`
}

An data source specification describes the data source data that a product (or a risk model) wants to get from the oracle engine.

type DataSourceSpecConfigurationResolver

type DataSourceSpecConfigurationResolver interface {
	Signers(ctx context.Context, obj *fury.DataSourceSpecConfiguration) ([]*Signer, error)
}

type DataSourceSpecConfigurationTime

type DataSourceSpecConfigurationTime struct {
	Conditions []*v1.Condition `json:"conditions"`
}

DataSourceSpecConfigurationTime is the internal data source used for emitting timestamps.

func (DataSourceSpecConfigurationTime) IsInternalDataSourceKind

func (DataSourceSpecConfigurationTime) IsInternalDataSourceKind()

type DataSourceSpecStatus

type DataSourceSpecStatus string

Describes the status of the data spec

const (
	// Describes an active data spec
	DataSourceSpecStatusStatusActive DataSourceSpecStatus = "STATUS_ACTIVE"
	// Describes a data spec that is not listening to data
	// anymore
	DataSourceSpecStatusStatusDeactivated DataSourceSpecStatus = "STATUS_DEACTIVATED"
)

func (DataSourceSpecStatus) IsValid

func (e DataSourceSpecStatus) IsValid() bool

func (DataSourceSpecStatus) MarshalGQL

func (e DataSourceSpecStatus) MarshalGQL(w io.Writer)

func (DataSourceSpecStatus) String

func (e DataSourceSpecStatus) String() string

func (*DataSourceSpecStatus) UnmarshalGQL

func (e *DataSourceSpecStatus) UnmarshalGQL(v interface{}) error

type DateRangeResolver

type DateRangeResolver interface {
	Start(ctx context.Context, obj *v2.DateRange, data *int64) error
	End(ctx context.Context, obj *v2.DateRange, data *int64) error
}

type DelegationResolver

type DelegationResolver interface {
	Party(ctx context.Context, obj *fury.Delegation) (*fury.Party, error)
	Node(ctx context.Context, obj *fury.Delegation) (*fury.Node, error)
	Epoch(ctx context.Context, obj *fury.Delegation) (int, error)
}

type DepositResolver

type DepositResolver interface {
	Party(ctx context.Context, obj *fury.Deposit) (*fury.Party, error)

	Asset(ctx context.Context, obj *fury.Deposit) (*fury.Asset, error)
}

type DirectiveRoot

type DirectiveRoot struct {
}

type DiscreteTrading

type DiscreteTrading struct {
	// Duration of the discrete trading batch in nanoseconds. Maximum 1 month.
	Duration int `json:"duration"`
	// Size of an increment in price in terms of the quote currency
	TickSize string `json:"tickSize"`
}

Frequent batch auctions trading mode

type DispatchStrategy

type DispatchStrategy struct {
	// Defines the data that will be used to compare markets so as to distribute rewards appropriately
	DispatchMetric fury.DispatchMetric `json:"dispatchMetric"`
	// The asset to use for measuring contribution to the metric
	DispatchMetricAssetID string `json:"dispatchMetricAssetId"`
	// Scope the dispatch to this market only under the metric asset
	MarketIdsInScope []string `json:"marketIdsInScope"`
}

Dispatch strategy for a recurring transfer

type ERC20MultiSigSignerAddedBundleEdge

type ERC20MultiSigSignerAddedBundleEdge struct {
	Node   *v2.ERC20MultiSigSignerAddedBundle `json:"node"`
	Cursor string                             `json:"cursor"`
}

type ERC20MultiSigSignerAddedBundleResolver

type ERC20MultiSigSignerAddedBundleResolver interface {
	Timestamp(ctx context.Context, obj *v2.ERC20MultiSigSignerAddedBundle) (string, error)
}

type ERC20MultiSigSignerAddedConnection

type ERC20MultiSigSignerAddedConnection struct {
	Edges    []*ERC20MultiSigSignerAddedBundleEdge `json:"edges"`
	PageInfo *v2.PageInfo                          `json:"pageInfo"`
}

Response for the signature bundle to add a particular validator to the signer list of the multisig contract

type ERC20MultiSigSignerRemovedBundleEdge

type ERC20MultiSigSignerRemovedBundleEdge struct {
	Node   *v2.ERC20MultiSigSignerRemovedBundle `json:"node"`
	Cursor string                               `json:"cursor"`
}

type ERC20MultiSigSignerRemovedBundleResolver

type ERC20MultiSigSignerRemovedBundleResolver interface {
	Timestamp(ctx context.Context, obj *v2.ERC20MultiSigSignerRemovedBundle) (string, error)
}

type ERC20MultiSigSignerRemovedConnection

type ERC20MultiSigSignerRemovedConnection struct {
	// The list of signer bundles for that validator
	Edges []*ERC20MultiSigSignerRemovedBundleEdge `json:"edges"`
	// The pagination information
	PageInfo *v2.PageInfo `json:"pageInfo"`
}

Response for the signature bundle to remove a particular validator from the signer list of the multisig contract

type ERC20SetAssetLimitsBundle

type ERC20SetAssetLimitsBundle struct {
	// The address of the asset on ethereum
	AssetSource string `json:"assetSource"`
	// The ID of the fury asset
	FuryAssetID string `json:"furyAssetId"`
	// The nonce, which is actually the internal reference for the proposal
	Nonce string `json:"nonce"`
	// The lifetime limit deposit for this asset
	LifetimeLimit string `json:"lifetimeLimit"`
	// The threshold withdraw for this asset
	Threshold string `json:"threshold"`
	// The signatures bundle as hex encoded data, forward by 0x
	// e.g: 0x + sig1 + sig2 + ... + sixN
	Signatures string `json:"signatures"`
}

Response for the signature bundle to update the token limits (maxLifetimeDeposit and withdrawThreshold) for a given ERC20 token (already allowlisted) in the collateral bridge

type ETHAddress

type ETHAddress struct {
	Address *string `json:"address"`
}

func (ETHAddress) IsSignerKind

func (ETHAddress) IsSignerKind()

type EpochParticipation

type EpochParticipation struct {
	Epoch *fury.Epoch `json:"epoch"`
	// RFC3339 timestamp
	Offline *int64 `json:"offline"`
	// RFC3339 timestamp
	Online *int64 `json:"online"`
	// Total amount rewarded for participation in the given epoch
	TotalRewards *float64 `json:"totalRewards"`
}

Summary of a node's rewards for a given epoch

type EpochResolver

type EpochResolver interface {
	ID(ctx context.Context, obj *fury.Epoch) (string, error)

	ValidatorsConnection(ctx context.Context, obj *fury.Epoch, pagination *v2.Pagination) (*v2.NodesConnection, error)
	DelegationsConnection(ctx context.Context, obj *fury.Epoch, partyID *string, nodeID *string, pagination *v2.Pagination) (*v2.DelegationsConnection, error)
}

type EpochRewardSummaryResolver

type EpochRewardSummaryResolver interface {
	Epoch(ctx context.Context, obj *fury.EpochRewardSummary) (int, error)

	RewardType(ctx context.Context, obj *fury.EpochRewardSummary) (fury.AccountType, error)
}

type EpochTimestampsResolver

type EpochTimestampsResolver interface {
	Start(ctx context.Context, obj *fury.EpochTimestamps) (*int64, error)
	Expiry(ctx context.Context, obj *fury.EpochTimestamps) (*int64, error)
	End(ctx context.Context, obj *fury.EpochTimestamps) (*int64, error)
	FirstBlock(ctx context.Context, obj *fury.EpochTimestamps) (string, error)
	LastBlock(ctx context.Context, obj *fury.EpochTimestamps) (*string, error)
}

type Erc20

type Erc20 struct {
	// The address of the ERC20 contract
	ContractAddress string `json:"contractAddress"`
	// The lifetime limits deposit per address
	// Note: this is a temporary measure that can be changed by governance
	LifetimeLimit string `json:"lifetimeLimit"`
	// The maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.
	// There is no limit on the size of a withdrawal
	// Note: this is a temporary measure that can be changed by governance
	WithdrawThreshold string `json:"withdrawThreshold"`
}

An asset originated from an Ethereum ERC20 Token

func ERC20FromProto

func ERC20FromProto(ea *types.ERC20) *Erc20

func (Erc20) IsAssetSource

func (Erc20) IsAssetSource()

type Erc20ListAssetBundle

type Erc20ListAssetBundle struct {
	// The source asset in the ethereum network
	AssetSource string `json:"assetSource"`
	// The ID of the fury asset
	FuryAssetID string `json:"furyAssetId"`
	// The nonce to be used in the request
	Nonce string `json:"nonce"`
	// Signature aggregate from the nodes, in the following format:
	// 0x + sig1 + sig2 + ... + sigN
	Signatures string `json:"signatures"`
}

Response for the signature bundle to allowlist an ERC20 token in the collateral bridge

type Erc20WithdrawalApproval

type Erc20WithdrawalApproval struct {
	// The source asset in the ethereum network
	AssetSource string `json:"assetSource"`
	// The amount to be withdrawn
	Amount string `json:"amount"`
	// The nonce to be used in the request
	Nonce string `json:"nonce"`
	// Signature aggregate from the nodes, in the following format:
	// 0x + sig1 + sig2 + ... + sigN
	Signatures string `json:"signatures"`
	// The target address that will receive the funds
	TargetAddress string `json:"targetAddress"`
	// Timestamp at which the withdrawal was created
	Creation string `json:"creation"`
}

All the data related to the approval of a withdrawal from the network

type Erc20WithdrawalDetails

type Erc20WithdrawalDetails struct {
	// The ethereum address of the receiver of the asset funds
	ReceiverAddress string `json:"receiverAddress"`
}

Specific details for an erc20 withdrawal

func (Erc20WithdrawalDetails) IsWithdrawalDetails

func (Erc20WithdrawalDetails) IsWithdrawalDetails()

type EthereumEvent

type EthereumEvent struct {
	// The ID of the ethereum contract to use (string)
	ContractID string `json:"contractId"`
	// Name of the Ethereum event to listen to. (string)
	Event string `json:"event"`
}

An Ethereum data source

func (EthereumEvent) IsOracle

func (EthereumEvent) IsOracle()

type EthereumKeyRotationResolver

type EthereumKeyRotationResolver interface {
	BlockHeight(ctx context.Context, obj *v1.EthereumKeyRotation) (string, error)
}

type Event

type Event interface {
	IsEvent()
}

Union type for wrapped events in stream PROPOSAL is mapped to governance data, something to keep in mind

type ExternalData

type ExternalData struct {
	Data *Data `json:"data"`
}

type ExternalDataSourceKind

type ExternalDataSourceKind interface {
	IsExternalDataSourceKind()
}

type ExternalDataSourceSpec

type ExternalDataSourceSpec struct {
	Spec *DataSourceSpec `json:"spec"`
}

externalDataSourceSpec is the type that wraps the DataSourceSpec type in order to be further used/extended by the OracleSpec

type FeeEstimate

type FeeEstimate struct {
	// The estimated fees if the order was to trade
	Fees *TradeFee `json:"fees"`
	// The total estimated amount of fees if the order was to trade
	TotalFeeAmount string `json:"totalFeeAmount"`
}

An estimate of the fee to be paid for the order

type FuryResolverRoot

type FuryResolverRoot struct {
	gateway.Config
	// contains filtered or unexported fields
}

FuryResolverRoot is the root resolver for all graphql types.

func NewResolverRoot

func NewResolverRoot(
	log *logging.Logger,
	config gateway.Config,
	tradingClient CoreProxyServiceClient,
	tradingDataClientV2 TradingDataServiceClientV2,
) *FuryResolverRoot

NewResolverRoot instantiate a graphql root resolver.

func (*FuryResolverRoot) AccountBalance

func (r *FuryResolverRoot) AccountBalance() AccountBalanceResolver

Account returns the accounts resolver.

func (*FuryResolverRoot) AccountDetails

func (r *FuryResolverRoot) AccountDetails() AccountDetailsResolver

Account returns the accounts resolver.

func (*FuryResolverRoot) AccountEvent

func (r *FuryResolverRoot) AccountEvent() AccountEventResolver

Account returns the accounts resolver.

func (*FuryResolverRoot) AccountUpdate

func (r *FuryResolverRoot) AccountUpdate() AccountUpdateResolver

func (*FuryResolverRoot) AggregatedLedgerEntry

func (r *FuryResolverRoot) AggregatedLedgerEntry() AggregatedLedgerEntryResolver

func (*FuryResolverRoot) Asset

func (r *FuryResolverRoot) Asset() AssetResolver

Asset ...

func (*FuryResolverRoot) AuctionEvent

func (r *FuryResolverRoot) AuctionEvent() AuctionEventResolver

func (*FuryResolverRoot) Candle

func (r *FuryResolverRoot) Candle() CandleResolver

Candle returns the candles resolver.

func (*FuryResolverRoot) CoreSnapshotData

func (r *FuryResolverRoot) CoreSnapshotData() CoreSnapshotDataResolver

func (*FuryResolverRoot) DataSourceSpecConfiguration

func (r *FuryResolverRoot) DataSourceSpecConfiguration() DataSourceSpecConfigurationResolver

func (*FuryResolverRoot) DateRange

func (r *FuryResolverRoot) DateRange() DateRangeResolver

func (*FuryResolverRoot) Delegation

func (r *FuryResolverRoot) Delegation() DelegationResolver

func (*FuryResolverRoot) Deposit

func (r *FuryResolverRoot) Deposit() DepositResolver

Deposit ...

func (*FuryResolverRoot) ERC20MultiSigSignerAddedBundle

func (r *FuryResolverRoot) ERC20MultiSigSignerAddedBundle() ERC20MultiSigSignerAddedBundleResolver

func (*FuryResolverRoot) ERC20MultiSigSignerRemovedBundle

func (r *FuryResolverRoot) ERC20MultiSigSignerRemovedBundle() ERC20MultiSigSignerRemovedBundleResolver

func (*FuryResolverRoot) Epoch

func (r *FuryResolverRoot) Epoch() EpochResolver

func (*FuryResolverRoot) EpochRewardSummary

func (r *FuryResolverRoot) EpochRewardSummary() EpochRewardSummaryResolver

func (*FuryResolverRoot) EpochTimestamps

func (r *FuryResolverRoot) EpochTimestamps() EpochTimestampsResolver

func (*FuryResolverRoot) EthereumKeyRotation

func (r *FuryResolverRoot) EthereumKeyRotation() EthereumKeyRotationResolver

func (*FuryResolverRoot) Future

func (r *FuryResolverRoot) Future() FutureResolver

func (*FuryResolverRoot) FutureProduct

func (r *FuryResolverRoot) FutureProduct() FutureProductResolver

func (*FuryResolverRoot) Instrument

func (r *FuryResolverRoot) Instrument() InstrumentResolver

func (*FuryResolverRoot) InstrumentConfiguration

func (r *FuryResolverRoot) InstrumentConfiguration() InstrumentConfigurationResolver

func (*FuryResolverRoot) KeyRotation

func (r *FuryResolverRoot) KeyRotation() KeyRotationResolver

func (*FuryResolverRoot) LedgerEntry

func (r *FuryResolverRoot) LedgerEntry() LedgerEntryResolver

func (*FuryResolverRoot) LiquidityOrderReference

func (r *FuryResolverRoot) LiquidityOrderReference() LiquidityOrderReferenceResolver

func (*FuryResolverRoot) LiquidityProvision

func (r *FuryResolverRoot) LiquidityProvision() LiquidityProvisionResolver

func (*FuryResolverRoot) LiquidityProvisionUpdate

func (r *FuryResolverRoot) LiquidityProvisionUpdate() LiquidityProvisionUpdateResolver

func (*FuryResolverRoot) MarginLevels

func (r *FuryResolverRoot) MarginLevels() MarginLevelsResolver

MarginLevels returns the market levels resolver.

func (*FuryResolverRoot) MarginLevelsUpdate

func (r *FuryResolverRoot) MarginLevelsUpdate() MarginLevelsUpdateResolver

MarginLevelsUpdate returns the market levels resolver.

func (*FuryResolverRoot) Market

func (r *FuryResolverRoot) Market() MarketResolver

Market returns the markets resolver.

func (*FuryResolverRoot) MarketData

func (r *FuryResolverRoot) MarketData() MarketDataResolver

MarketData returns the market data resolver.

func (*FuryResolverRoot) MarketDepth

func (r *FuryResolverRoot) MarketDepth() MarketDepthResolver

MarketDepth returns the market depth resolver.

func (*FuryResolverRoot) MarketDepthUpdate

func (r *FuryResolverRoot) MarketDepthUpdate() MarketDepthUpdateResolver

MarketDepthUpdate returns the market depth update resolver.

func (*FuryResolverRoot) NewAsset

func (r *FuryResolverRoot) NewAsset() NewAssetResolver

func (*FuryResolverRoot) NewFreeform

func (r *FuryResolverRoot) NewFreeform() NewFreeformResolver

func (*FuryResolverRoot) NewMarket

func (r *FuryResolverRoot) NewMarket() NewMarketResolver

func (*FuryResolverRoot) Node

func (r *FuryResolverRoot) Node() NodeResolver

func (*FuryResolverRoot) NodeData

func (r *FuryResolverRoot) NodeData() NodeDataResolver

func (*FuryResolverRoot) NodeSignature

func (r *FuryResolverRoot) NodeSignature() NodeSignatureResolver

NodeSignature ...

func (*FuryResolverRoot) ObservableMarketData

func (r *FuryResolverRoot) ObservableMarketData() ObservableMarketDataResolver

func (*FuryResolverRoot) ObservableMarketDepth

func (r *FuryResolverRoot) ObservableMarketDepth() ObservableMarketDepthResolver

func (*FuryResolverRoot) ObservableMarketDepthUpdate

func (r *FuryResolverRoot) ObservableMarketDepthUpdate() ObservableMarketDepthUpdateResolver

func (*FuryResolverRoot) OracleData

func (r *FuryResolverRoot) OracleData() OracleDataResolver

func (*FuryResolverRoot) OracleSpec

func (r *FuryResolverRoot) OracleSpec() OracleSpecResolver

func (*FuryResolverRoot) Order

func (r *FuryResolverRoot) Order() OrderResolver

Order returns the order resolver.

func (*FuryResolverRoot) OrderFilter

func (r *FuryResolverRoot) OrderFilter() OrderFilterResolver

func (*FuryResolverRoot) OrderUpdate

func (r *FuryResolverRoot) OrderUpdate() OrderUpdateResolver

OrderUpdate returns the order resolver.

func (*FuryResolverRoot) Party

func (r *FuryResolverRoot) Party() PartyResolver

Party returns the parties resolver.

func (*FuryResolverRoot) PartyStake

func (r *FuryResolverRoot) PartyStake() PartyStakeResolver

func (*FuryResolverRoot) Position

func (r *FuryResolverRoot) Position() PositionResolver

Position returns the positions resolver.

func (*FuryResolverRoot) PositionUpdate

func (r *FuryResolverRoot) PositionUpdate() PositionUpdateResolver

PositionUpdate returns the positionUpdate resolver.

func (*FuryResolverRoot) PriceLevel

func (r *FuryResolverRoot) PriceLevel() PriceLevelResolver

PriceLevel returns the price levels resolver.

func (*FuryResolverRoot) PropertyKey

func (r *FuryResolverRoot) PropertyKey() PropertyKeyResolver

func (*FuryResolverRoot) Proposal

func (r *FuryResolverRoot) Proposal() ProposalResolver

Proposal returns the proposal resolver.

func (*FuryResolverRoot) ProposalDetail

func (r *FuryResolverRoot) ProposalDetail() ProposalDetailResolver

ProposalDetail returns the Proposal detail resolver.

func (*FuryResolverRoot) ProposalTerms

func (r *FuryResolverRoot) ProposalTerms() ProposalTermsResolver

func (*FuryResolverRoot) ProtocolUpgradeProposal

func (r *FuryResolverRoot) ProtocolUpgradeProposal() ProtocolUpgradeProposalResolver

func (*FuryResolverRoot) Query

func (r *FuryResolverRoot) Query() QueryResolver

Query returns the query resolver.

func (*FuryResolverRoot) RankingScore

func (r *FuryResolverRoot) RankingScore() RankingScoreResolver

func (*FuryResolverRoot) RecurringTransfer

func (r *FuryResolverRoot) RecurringTransfer() RecurringTransferResolver

func (*FuryResolverRoot) Reward

func (r *FuryResolverRoot) Reward() RewardResolver

func (*FuryResolverRoot) RewardSummary

func (r *FuryResolverRoot) RewardSummary() RewardSummaryResolver

func (*FuryResolverRoot) RewardSummaryFilter

func (r *FuryResolverRoot) RewardSummaryFilter() RewardSummaryFilterResolver

RewardSummaryFilter returns RewardSummaryFilterResolver implementation.

func (*FuryResolverRoot) StakeLinking

func (r *FuryResolverRoot) StakeLinking() StakeLinkingResolver

func (*FuryResolverRoot) Statistics

func (r *FuryResolverRoot) Statistics() StatisticsResolver

func (*FuryResolverRoot) Subscription

func (r *FuryResolverRoot) Subscription() SubscriptionResolver

Subscription returns the subscriptions resolver.

func (*FuryResolverRoot) TradableInstrument

func (r *FuryResolverRoot) TradableInstrument() TradableInstrumentResolver

func (*FuryResolverRoot) Trade

func (r *FuryResolverRoot) Trade() TradeResolver

Trade returns the trades resolver.

func (*FuryResolverRoot) TradeUpdate

func (r *FuryResolverRoot) TradeUpdate() TradeUpdateResolver

func (*FuryResolverRoot) TransactionResult

func (r *FuryResolverRoot) TransactionResult() TransactionResultResolver

func (*FuryResolverRoot) Transfer

func (r *FuryResolverRoot) Transfer() TransferResolver

func (*FuryResolverRoot) UpdateAsset

func (r *FuryResolverRoot) UpdateAsset() UpdateAssetResolver

func (*FuryResolverRoot) UpdateFutureProduct

func (r *FuryResolverRoot) UpdateFutureProduct() UpdateFutureProductResolver

func (*FuryResolverRoot) UpdateMarket

func (r *FuryResolverRoot) UpdateMarket() UpdateMarketResolver

func (*FuryResolverRoot) UpdateMarketConfiguration

func (r *FuryResolverRoot) UpdateMarketConfiguration() UpdateMarketConfigurationResolver

func (*FuryResolverRoot) UpdateNetworkParameter

func (r *FuryResolverRoot) UpdateNetworkParameter() UpdateNetworkParameterResolver

func (*FuryResolverRoot) Vote

func (r *FuryResolverRoot) Vote() VoteResolver

func (*FuryResolverRoot) Withdrawal

func (r *FuryResolverRoot) Withdrawal() WithdrawalResolver

Withdrawal ...

type FutureProductResolver

type FutureProductResolver interface {
	SettlementAsset(ctx context.Context, obj *fury.FutureProduct) (*fury.Asset, error)

	DataSourceSpecForSettlementData(ctx context.Context, obj *fury.FutureProduct) (*DataSourceDefinition, error)
	DataSourceSpecForTradingTermination(ctx context.Context, obj *fury.FutureProduct) (*DataSourceDefinition, error)
}

type FutureResolver

type FutureResolver interface {
	SettlementAsset(ctx context.Context, obj *fury.Future) (*fury.Asset, error)

	DataSourceSpecForSettlementData(ctx context.Context, obj *fury.Future) (*DataSourceSpec, error)
	DataSourceSpecForTradingTermination(ctx context.Context, obj *fury.Future) (*DataSourceSpec, error)
}

type GraphServer

type GraphServer struct {
	gateway.Config
	// contains filtered or unexported fields
}

GraphServer is the graphql server.

func New

func New(
	log *logging.Logger,
	config gateway.Config,
	furyPaths paths.Paths,
) (*GraphServer, error)

New returns a new instance of the grapqhl server.

func (*GraphServer) ReloadConf

func (g *GraphServer) ReloadConf(cfg gateway.Config)

ReloadConf update the internal configuration of the graphql server.

func (*GraphServer) Start

func (g *GraphServer) Start() (http.Handler, error)

Start starts the server in order receive http request.

type InstrumentConfigurationResolver

type InstrumentConfigurationResolver interface {
	FutureProduct(ctx context.Context, obj *fury.InstrumentConfiguration) (*fury.FutureProduct, error)
}

type InstrumentResolver

type InstrumentResolver interface {
	Product(ctx context.Context, obj *fury.Instrument) (Product, error)
}

type InternalDataSourceKind

type InternalDataSourceKind interface {
	IsInternalDataSourceKind()
}

type KeyRotationResolver

type KeyRotationResolver interface {
	BlockHeight(ctx context.Context, obj *v1.KeyRotation) (string, error)
}

type LedgerEntryResolver

type LedgerEntryResolver interface {
	FromAccountID(ctx context.Context, obj *fury.LedgerEntry) (*fury.AccountDetails, error)
	ToAccountID(ctx context.Context, obj *fury.LedgerEntry) (*fury.AccountDetails, error)
}

type LiquidityMonitoringParameters

type LiquidityMonitoringParameters struct {
	// Specifies parameters related to target stake calculation
	TargetStakeParameters *TargetStakeParameters `json:"targetStakeParameters"`
	// Specifies the triggering ratio for entering liquidity auction
	TriggeringRatio string `json:"triggeringRatio"`
	// Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction
	AuctionExtensionSecs int `json:"auctionExtensionSecs"`
}

Configuration of a market liquidity monitoring parameters

type LiquidityOrderReferenceResolver

type LiquidityOrderReferenceResolver interface {
	Order(ctx context.Context, obj *fury.LiquidityOrderReference) (*fury.Order, error)
}

type LiquidityProviderFeeShare

type LiquidityProviderFeeShare struct {
	// The liquidity provider party ID
	Party *fury.Party `json:"party"`
	// The share owned by this liquidity provider (float)
	EquityLikeShare string `json:"equityLikeShare"`
	// The average entry valuation of the liquidity provider for the market
	AverageEntryValuation string `json:"averageEntryValuation"`
	// The average liquidity score
	AverageScore string `json:"averageScore"`
}

The equity like share of liquidity fee for each liquidity provider

type LiquidityProvisionResolver

type LiquidityProvisionResolver interface {
	Party(ctx context.Context, obj *fury.LiquidityProvision) (*fury.Party, error)

	Market(ctx context.Context, obj *fury.LiquidityProvision) (*fury.Market, error)

	Version(ctx context.Context, obj *fury.LiquidityProvision) (string, error)
}

type LiquidityProvisionUpdateResolver

type LiquidityProvisionUpdateResolver interface {
	Version(ctx context.Context, obj *fury.LiquidityProvision) (string, error)
}

type LossSocialization

type LossSocialization struct {
	// The market ID where loss socialization happened
	MarketID string `json:"marketId"`
	// The party that was part of the loss socialization
	PartyID string `json:"partyId"`
	// The amount lost
	Amount string `json:"amount"`
}

type MarginLevelsResolver

type MarginLevelsResolver interface {
	Market(ctx context.Context, obj *fury.MarginLevels) (*fury.Market, error)
	Asset(ctx context.Context, obj *fury.MarginLevels) (*fury.Asset, error)
	Party(ctx context.Context, obj *fury.MarginLevels) (*fury.Party, error)
	MaintenanceLevel(ctx context.Context, obj *fury.MarginLevels) (string, error)

	InitialLevel(ctx context.Context, obj *fury.MarginLevels) (string, error)
}

type MarginLevelsUpdateResolver

type MarginLevelsUpdateResolver interface {
	MaintenanceLevel(ctx context.Context, obj *fury.MarginLevels) (string, error)

	InitialLevel(ctx context.Context, obj *fury.MarginLevels) (string, error)
}

type MarketDataCommitments

type MarketDataCommitments struct {
	// A set of liquidity sell orders to meet the liquidity provision obligation.
	Sells []*fury.LiquidityOrderReference `json:"sells"`
	// A set of liquidity buy orders to meet the liquidity provision obligation.
	Buys []*fury.LiquidityOrderReference `json:"buys"`
}

The liquidity commitments for this market

type MarketDataResolver

type MarketDataResolver interface {
	Market(ctx context.Context, obj *fury.MarketData) (*fury.Market, error)

	BestBidVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	BestOfferVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	BestStaticBidVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	BestStaticOfferVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	OpenInterest(ctx context.Context, obj *fury.MarketData) (string, error)
	AuctionEnd(ctx context.Context, obj *fury.MarketData) (*string, error)
	AuctionStart(ctx context.Context, obj *fury.MarketData) (*string, error)

	IndicativeVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	Commitments(ctx context.Context, obj *fury.MarketData) (*MarketDataCommitments, error)
	PriceMonitoringBounds(ctx context.Context, obj *fury.MarketData) ([]*PriceMonitoringBounds, error)

	LiquidityProviderFeeShare(ctx context.Context, obj *fury.MarketData) ([]*LiquidityProviderFeeShare, error)
	NextMarkToMarket(ctx context.Context, obj *fury.MarketData) (string, error)
}

type MarketDepthResolver

type MarketDepthResolver interface {
	Market(ctx context.Context, obj *fury.MarketDepth) (*fury.Market, error)

	LastTrade(ctx context.Context, obj *fury.MarketDepth) (*fury.Trade, error)
	SequenceNumber(ctx context.Context, obj *fury.MarketDepth) (string, error)
}

type MarketDepthTrade

type MarketDepthTrade struct {
	// ID of the trade for the given market (if available)
	ID string `json:"id"`
	// Price of the trade
	Price string `json:"price"`
	// Size of the trade
	Size string `json:"size"`
}

type MarketDepthUpdateResolver

type MarketDepthUpdateResolver interface {
	Market(ctx context.Context, obj *fury.MarketDepthUpdate) (*fury.Market, error)

	SequenceNumber(ctx context.Context, obj *fury.MarketDepthUpdate) (string, error)
	PreviousSequenceNumber(ctx context.Context, obj *fury.MarketDepthUpdate) (string, error)
}

type MarketEvent

type MarketEvent struct {
	// The market ID
	MarketID string `json:"marketId"`
	// The message - market events are used for logging
	Payload string `json:"payload"`
}

type MarketLogEvent

type MarketLogEvent interface {
	GetMarketID() string
	GetPayload() string
}

type MarketResolver

type MarketResolver interface {
	DecimalPlaces(ctx context.Context, obj *fury.Market) (int, error)

	OpeningAuction(ctx context.Context, obj *fury.Market) (*AuctionDuration, error)
	PriceMonitoringSettings(ctx context.Context, obj *fury.Market) (*PriceMonitoringSettings, error)
	LiquidityMonitoringParameters(ctx context.Context, obj *fury.Market) (*LiquidityMonitoringParameters, error)

	Proposal(ctx context.Context, obj *fury.Market) (*fury.GovernanceData, error)
	OrdersConnection(ctx context.Context, obj *fury.Market, pagination *v2.Pagination, filter *OrderByPartyIdsFilter) (*v2.OrderConnection, error)
	AccountsConnection(ctx context.Context, obj *fury.Market, partyID *string, pagination *v2.Pagination) (*v2.AccountsConnection, error)
	TradesConnection(ctx context.Context, obj *fury.Market, dateRange *v2.DateRange, pagination *v2.Pagination) (*v2.TradeConnection, error)
	Depth(ctx context.Context, obj *fury.Market, maxDepth *int) (*fury.MarketDepth, error)
	CandlesConnection(ctx context.Context, obj *fury.Market, since string, to *string, interval fury.Interval, pagination *v2.Pagination) (*v2.CandleDataConnection, error)
	Data(ctx context.Context, obj *fury.Market) (*fury.MarketData, error)
	LiquidityProvisionsConnection(ctx context.Context, obj *fury.Market, partyID *string, live *bool, pagination *v2.Pagination) (*v2.LiquidityProvisionsConnection, error)

	RiskFactors(ctx context.Context, obj *fury.Market) (*fury.RiskFactor, error)
}

type MarketTick

type MarketTick struct {
	// The market ID
	MarketID string `json:"marketId"`
	// The block time
	Time string `json:"time"`
}

type NewAssetResolver

type NewAssetResolver interface {
	Name(ctx context.Context, obj *fury.NewAsset) (string, error)
	Symbol(ctx context.Context, obj *fury.NewAsset) (string, error)
	Decimals(ctx context.Context, obj *fury.NewAsset) (int, error)
	Quantum(ctx context.Context, obj *fury.NewAsset) (string, error)
	Source(ctx context.Context, obj *fury.NewAsset) (AssetSource, error)
}

type NewFreeformResolver

type NewFreeformResolver interface {
	DoNotUse(ctx context.Context, obj *fury.NewFreeform) (*bool, error)
}

type NewMarketResolver

type NewMarketResolver interface {
	Instrument(ctx context.Context, obj *fury.NewMarket) (*fury.InstrumentConfiguration, error)
	DecimalPlaces(ctx context.Context, obj *fury.NewMarket) (int, error)
	RiskParameters(ctx context.Context, obj *fury.NewMarket) (RiskModel, error)
	Metadata(ctx context.Context, obj *fury.NewMarket) ([]string, error)
	PriceMonitoringParameters(ctx context.Context, obj *fury.NewMarket) (*PriceMonitoringParameters, error)
	LiquidityMonitoringParameters(ctx context.Context, obj *fury.NewMarket) (*LiquidityMonitoringParameters, error)
	PositionDecimalPlaces(ctx context.Context, obj *fury.NewMarket) (int, error)
	LpPriceRange(ctx context.Context, obj *fury.NewMarket) (string, error)
	LinearSlippageFactor(ctx context.Context, obj *fury.NewMarket) (string, error)
	QuadraticSlippageFactor(ctx context.Context, obj *fury.NewMarket) (string, error)
}

type NodeDataResolver

type NodeDataResolver interface {
	TendermintNodes(ctx context.Context, obj *fury.NodeData) (*NodeSet, error)
	ErsatzNodes(ctx context.Context, obj *fury.NodeData) (*NodeSet, error)
	PendingNodes(ctx context.Context, obj *fury.NodeData) (*NodeSet, error)
	Uptime(ctx context.Context, obj *fury.NodeData) (float64, error)
}

type NodeResolver

type NodeResolver interface {
	DelegationsConnection(ctx context.Context, obj *fury.Node, partyID *string, pagination *v2.Pagination) (*v2.DelegationsConnection, error)
}

type NodeSet

type NodeSet struct {
	// Total number of nodes in the node set
	Total int `json:"total"`
	// Number of nodes in the node set that had a performance score of 0 at the end of the last epoch
	Inactive int `json:"inactive"`
	// IDs of the nodes that were promoted into this node set at the start of the epoch
	Promoted []string `json:"promoted"`
	// IDs of the nodes that were demoted into this node set at the start of the epoch
	Demoted []string `json:"demoted"`
	// Total number of nodes allowed in the node set
	Maximum *int `json:"maximum"`
}

Details on the collection of nodes for particular validator status

type NodeSignatureResolver

type NodeSignatureResolver interface {
	Signature(ctx context.Context, obj *v11.NodeSignature) (*string, error)
}

type ObservableLiquidityProviderFeeShare

type ObservableLiquidityProviderFeeShare struct {
	// The liquidity provider party ID
	PartyID string `json:"partyId"`
	// The share owned by this liquidity provider (float)
	EquityLikeShare string `json:"equityLikeShare"`
	// The average entry valuation of the liquidity provider for the market
	AverageEntryValuation string `json:"averageEntryValuation"`
	// The average liquidity score
	AverageScore string `json:"averageScore"`
}

The equity like share of liquidity fee for each liquidity provider

type ObservableMarketDataResolver

type ObservableMarketDataResolver interface {
	MarketID(ctx context.Context, obj *fury.MarketData) (string, error)

	BestBidVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	BestOfferVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	BestStaticBidVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	BestStaticOfferVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	OpenInterest(ctx context.Context, obj *fury.MarketData) (string, error)
	AuctionEnd(ctx context.Context, obj *fury.MarketData) (*string, error)
	AuctionStart(ctx context.Context, obj *fury.MarketData) (*string, error)

	IndicativeVolume(ctx context.Context, obj *fury.MarketData) (string, error)

	PriceMonitoringBounds(ctx context.Context, obj *fury.MarketData) ([]*PriceMonitoringBounds, error)

	LiquidityProviderFeeShare(ctx context.Context, obj *fury.MarketData) ([]*ObservableLiquidityProviderFeeShare, error)
	NextMarkToMarket(ctx context.Context, obj *fury.MarketData) (string, error)
}

type ObservableMarketDepthResolver

type ObservableMarketDepthResolver interface {
	LastTrade(ctx context.Context, obj *fury.MarketDepth) (*MarketDepthTrade, error)
	SequenceNumber(ctx context.Context, obj *fury.MarketDepth) (string, error)
}

type ObservableMarketDepthUpdateResolver

type ObservableMarketDepthUpdateResolver interface {
	SequenceNumber(ctx context.Context, obj *fury.MarketDepthUpdate) (string, error)
	PreviousSequenceNumber(ctx context.Context, obj *fury.MarketDepthUpdate) (string, error)
}

type Oracle

type Oracle interface {
	IsOracle()
}

type OracleDataResolver

type OracleDataResolver interface {
	ExternalData(ctx context.Context, obj *fury.OracleData) (*ExternalData, error)
}

type OracleSpecResolver

type OracleSpecResolver interface {
	DataSourceSpec(ctx context.Context, obj *fury.OracleSpec) (*ExternalDataSourceSpec, error)
	DataConnection(ctx context.Context, obj *fury.OracleSpec, pagination *v2.Pagination) (*v2.OracleDataConnection, error)
}

type OrderByMarketAndPartyIdsFilter

type OrderByMarketAndPartyIdsFilter struct {
	Order     *v2.OrderFilter `json:"order"`
	MarketIds []string        `json:"marketIds"`
	PartyIds  []string        `json:"partyIds"`
}

type OrderByMarketIdsFilter

type OrderByMarketIdsFilter struct {
	Order     *v2.OrderFilter `json:"order"`
	MarketIds []string        `json:"marketIds"`
}

type OrderByPartyIdsFilter

type OrderByPartyIdsFilter struct {
	Order    *v2.OrderFilter `json:"order"`
	PartyIds []string        `json:"partyIds"`
}

type OrderEstimate

type OrderEstimate struct {
	// The estimated fee if the order was to trade
	Fee *TradeFee `json:"fee"`
	// The total estimated amount of fee if the order was to trade
	TotalFeeAmount string `json:"totalFeeAmount"`
	// The margin requirement for this order
	MarginLevels *fury.MarginLevels `json:"marginLevels"`
}

An estimate of the fee to be paid by the order

type OrderFilterResolver

type OrderFilterResolver interface {
	Status(ctx context.Context, obj *v2.OrderFilter, data []fury.Order_Status) error

	TimeInForce(ctx context.Context, obj *v2.OrderFilter, data []fury.Order_TimeInForce) error
}

type OrderInfo

type OrderInfo struct {
	// Whether the order is to buy or sell
	Side fury.Side `json:"side"`
	// Price for the order
	Price string `json:"price"`
	// Number of units remaining of the total that have not yet been bought or sold (uint64)
	Remaining string `json:"remaining"`
	// Boolean indicating a market order
	IsMarketOrder bool `json:"isMarketOrder"`
}

Basic description of an order

type OrderResolver

type OrderResolver interface {
	Market(ctx context.Context, obj *fury.Order) (*fury.Market, error)
	Size(ctx context.Context, obj *fury.Order) (string, error)
	Remaining(ctx context.Context, obj *fury.Order) (string, error)
	Party(ctx context.Context, obj *fury.Order) (*fury.Party, error)

	TradesConnection(ctx context.Context, obj *fury.Order, dateRange *v2.DateRange, pagination *v2.Pagination) (*v2.TradeConnection, error)

	RejectionReason(ctx context.Context, obj *fury.Order) (*fury.OrderError, error)
	Version(ctx context.Context, obj *fury.Order) (string, error)

	LiquidityProvision(ctx context.Context, obj *fury.Order) (*fury.LiquidityProvision, error)
}

type OrderUpdateResolver

type OrderUpdateResolver interface {
	Size(ctx context.Context, obj *fury.Order) (string, error)
	Remaining(ctx context.Context, obj *fury.Order) (string, error)

	RejectionReason(ctx context.Context, obj *fury.Order) (*fury.OrderError, error)
	Version(ctx context.Context, obj *fury.Order) (string, error)
}

type PartyResolver

type PartyResolver interface {
	OrdersConnection(ctx context.Context, obj *fury.Party, pagination *v2.Pagination, filter *OrderByMarketIdsFilter) (*v2.OrderConnection, error)
	TradesConnection(ctx context.Context, obj *fury.Party, marketID *string, dataRange *v2.DateRange, pagination *v2.Pagination) (*v2.TradeConnection, error)
	AccountsConnection(ctx context.Context, obj *fury.Party, marketID *string, assetID *string, typeArg *fury.AccountType, pagination *v2.Pagination) (*v2.AccountsConnection, error)
	PositionsConnection(ctx context.Context, obj *fury.Party, market *string, pagination *v2.Pagination) (*v2.PositionConnection, error)
	MarginsConnection(ctx context.Context, obj *fury.Party, marketID *string, pagination *v2.Pagination) (*v2.MarginConnection, error)
	ProposalsConnection(ctx context.Context, obj *fury.Party, proposalType *v2.ListGovernanceDataRequest_Type, inState *fury.Proposal_State, pagination *v2.Pagination) (*v2.GovernanceDataConnection, error)
	VotesConnection(ctx context.Context, obj *fury.Party, pagination *v2.Pagination) (*ProposalVoteConnection, error)
	WithdrawalsConnection(ctx context.Context, obj *fury.Party, dateRange *v2.DateRange, pagination *v2.Pagination) (*v2.WithdrawalsConnection, error)
	DepositsConnection(ctx context.Context, obj *fury.Party, dateRange *v2.DateRange, pagination *v2.Pagination) (*v2.DepositsConnection, error)
	LiquidityProvisionsConnection(ctx context.Context, obj *fury.Party, marketID *string, reference *string, live *bool, pagination *v2.Pagination) (*v2.LiquidityProvisionsConnection, error)
	DelegationsConnection(ctx context.Context, obj *fury.Party, nodeID *string, pagination *v2.Pagination) (*v2.DelegationsConnection, error)
	StakingSummary(ctx context.Context, obj *fury.Party, pagination *v2.Pagination) (*StakingSummary, error)
	RewardsConnection(ctx context.Context, obj *fury.Party, assetID *string, pagination *v2.Pagination, fromEpoch *int, toEpoch *int) (*v2.RewardsConnection, error)
	RewardSummaries(ctx context.Context, obj *fury.Party, assetID *string) ([]*fury.RewardSummary, error)
	TransfersConnection(ctx context.Context, obj *fury.Party, direction *TransferDirection, pagination *v2.Pagination) (*v2.TransferConnection, error)
}

type PartyStakeResolver

type PartyStakeResolver interface {
	Linkings(ctx context.Context, obj *v2.GetStakeResponse) ([]*v1.StakeLinking, error)
}

type PositionEstimate

type PositionEstimate struct {
	// Margin level range estimate for the specified position
	Margin *v2.MarginEstimate `json:"margin"`
	// Liquidation price range estimate for the specified position. Only populated if available collateral was specified in the request
	Liquidation *v2.LiquidationEstimate `json:"liquidation"`
}

Response for the estimate of the margin level and, if available, collateral was provided in the request, liqudation price for the specified position

type PositionResolution

type PositionResolution struct {
	// The market ID where position resolution happened
	MarketID string `json:"marketId"`
	// Number of distressed parties on market
	Distressed int `json:"distressed"`
	// Number of parties closed out
	Closed int `json:"closed"`
	// The mark price at which parties were distressed/closed out
	MarkPrice string `json:"markPrice"`
}

type PositionResolver

type PositionResolver interface {
	Market(ctx context.Context, obj *fury.Position) (*fury.Market, error)
	Party(ctx context.Context, obj *fury.Position) (*fury.Party, error)
	OpenVolume(ctx context.Context, obj *fury.Position) (string, error)

	LossSocializationAmount(ctx context.Context, obj *fury.Position) (string, error)

	MarginsConnection(ctx context.Context, obj *fury.Position, pagination *v2.Pagination) (*v2.MarginConnection, error)
}

type PositionUpdateResolver

type PositionUpdateResolver interface {
	OpenVolume(ctx context.Context, obj *fury.Position) (string, error)

	LossSocializationAmount(ctx context.Context, obj *fury.Position) (string, error)
}

type PriceLevelResolver

type PriceLevelResolver interface {
	Volume(ctx context.Context, obj *fury.PriceLevel) (string, error)
	NumberOfOrders(ctx context.Context, obj *fury.PriceLevel) (string, error)
}

type PriceMonitoringBounds

type PriceMonitoringBounds struct {
	// Minimum price that isn't currently breaching the specified price monitoring trigger
	MinValidPrice string `json:"minValidPrice"`
	// Maximum price that isn't currently breaching the specified price monitoring trigger
	MaxValidPrice string `json:"maxValidPrice"`
	// Price monitoring trigger associated with the bounds
	Trigger *PriceMonitoringTrigger `json:"trigger"`
	// Reference price used to calculate the valid price range
	ReferencePrice string `json:"referencePrice"`
}

Range of valid prices and the associated price monitoring trigger

type PriceMonitoringParameters

type PriceMonitoringParameters struct {
	// The list of triggers for this price monitoring
	Triggers []*PriceMonitoringTrigger `json:"triggers"`
}

PriceMonitoringParameters holds a list of triggers

type PriceMonitoringSettings

type PriceMonitoringSettings struct {
	// Specified a set of PriceMonitoringParameters to be use for price monitoring purposes
	Parameters *PriceMonitoringParameters `json:"parameters"`
}

Configuration of a market price monitoring auctions triggers

func PriceMonitoringSettingsFromProto

func PriceMonitoringSettingsFromProto(ppmst *types.PriceMonitoringSettings) (*PriceMonitoringSettings, error)

type PriceMonitoringTrigger

type PriceMonitoringTrigger struct {
	// Price monitoring projection horizon τ in seconds (> 0).
	HorizonSecs int `json:"horizonSecs"`
	// Price monitoring probability level p. (>0 and < 1)
	Probability float64 `json:"probability"`
	// Price monitoring auction extension duration in seconds should the price
	// breach its theoretical level over the specified horizon at the specified
	// probability level (> 0)
	AuctionExtensionSecs int `json:"auctionExtensionSecs"`
}

PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration

func PriceMonitoringTriggerFromProto

func PriceMonitoringTriggerFromProto(ppmt *types.PriceMonitoringTrigger) (*PriceMonitoringTrigger, error)

type Product

type Product interface {
	IsProduct()
}

type PropertyKeyResolver

type PropertyKeyResolver interface {
	NumberDecimalPlaces(ctx context.Context, obj *v12.PropertyKey) (*int, error)
}

type ProposalChange

type ProposalChange interface {
	IsProposalChange()
}

type ProposalDetailResolver

type ProposalDetailResolver interface {
	Party(ctx context.Context, obj *fury.Proposal) (*fury.Party, error)

	Datetime(ctx context.Context, obj *fury.Proposal) (int64, error)

	RejectionReason(ctx context.Context, obj *fury.Proposal) (*fury.ProposalError, error)

	RequiredLpMajority(ctx context.Context, obj *fury.Proposal) (*string, error)
	RequiredLpParticipation(ctx context.Context, obj *fury.Proposal) (*string, error)
}

type ProposalResolver

type ProposalResolver interface {
	ID(ctx context.Context, obj *fury.GovernanceData) (*string, error)
	Reference(ctx context.Context, obj *fury.GovernanceData) (string, error)
	Party(ctx context.Context, obj *fury.GovernanceData) (*fury.Party, error)
	State(ctx context.Context, obj *fury.GovernanceData) (fury.Proposal_State, error)
	Datetime(ctx context.Context, obj *fury.GovernanceData) (int64, error)
	Rationale(ctx context.Context, obj *fury.GovernanceData) (*fury.ProposalRationale, error)
	Terms(ctx context.Context, obj *fury.GovernanceData) (*fury.ProposalTerms, error)
	Votes(ctx context.Context, obj *fury.GovernanceData) (*ProposalVotes, error)
	RejectionReason(ctx context.Context, obj *fury.GovernanceData) (*fury.ProposalError, error)
	ErrorDetails(ctx context.Context, obj *fury.GovernanceData) (*string, error)
	RequiredMajority(ctx context.Context, obj *fury.GovernanceData) (string, error)
	RequiredParticipation(ctx context.Context, obj *fury.GovernanceData) (string, error)
	RequiredLpMajority(ctx context.Context, obj *fury.GovernanceData) (*string, error)
	RequiredLpParticipation(ctx context.Context, obj *fury.GovernanceData) (*string, error)
}

type ProposalTermsResolver

type ProposalTermsResolver interface {
	ClosingDatetime(ctx context.Context, obj *fury.ProposalTerms) (int64, error)
	EnactmentDatetime(ctx context.Context, obj *fury.ProposalTerms) (*int64, error)
	ValidationDatetime(ctx context.Context, obj *fury.ProposalTerms) (*int64, error)
	Change(ctx context.Context, obj *fury.ProposalTerms) (ProposalChange, error)
}

type ProposalVote

type ProposalVote struct {
	// Cast vote
	Vote *fury.Vote `json:"vote"`
	// Proposal ID the vote is cast on
	ProposalID string `json:"proposalId"`
}

func ProposalVoteFromProto

func ProposalVoteFromProto(v *types.Vote) *ProposalVote

ProposalVoteFromProto ...

type ProposalVoteConnection

type ProposalVoteConnection struct {
	// The proposal votes in this connection
	Edges []*ProposalVoteEdge `json:"edges"`
	// The pagination information
	PageInfo *v2.PageInfo `json:"pageInfo"`
}

Connection type for retrieving cursor-based paginated proposal vote information

type ProposalVoteEdge

type ProposalVoteEdge struct {
	// The proposal vote
	Node *ProposalVote `json:"node"`
	// The cursor for this proposal vote
	Cursor *string `json:"cursor"`
}

Edge type containing the proposal vote and cursor information returned by a ProposalVoteConnection

type ProposalVoteSide

type ProposalVoteSide struct {
	// All votes cast for this side
	Votes []*fury.Vote `json:"votes"`
	// Total number of votes cast for this side
	TotalNumber string `json:"totalNumber"`
	// Total weight of governance token from the votes cast for this side
	TotalWeight string `json:"totalWeight"`
	// Total number of governance tokens from the votes cast for this side
	TotalTokens string `json:"totalTokens"`
	// Total equity like share weight for this side (only for UpdateMarket Proposals)
	TotalEquityLikeShareWeight string `json:"totalEquityLikeShareWeight"`
}

type ProposalVotes

type ProposalVotes struct {
	// Yes votes cast for this proposal
	Yes *ProposalVoteSide `json:"yes"`
	// No votes cast for this proposal
	No *ProposalVoteSide `json:"no"`
}

type ProtocolUpgradeProposalResolver

type ProtocolUpgradeProposalResolver interface {
	UpgradeBlockHeight(ctx context.Context, obj *v1.ProtocolUpgradeEvent) (string, error)
}

type ProtocolUpgradeStatus

type ProtocolUpgradeStatus struct {
	Ready bool `json:"ready"`
}

Indicator showing whether the data-node is ready for the protocol upgrade to begin.

type PubKey

type PubKey struct {
	Key *string `json:"key"`
}

func (PubKey) IsSignerKind

func (PubKey) IsSignerKind()

type QueryResolver

type QueryResolver interface {
	Asset(ctx context.Context, id string) (*fury.Asset, error)
	AssetsConnection(ctx context.Context, id *string, pagination *v2.Pagination) (*v2.AssetsConnection, error)
	CoreSnapshots(ctx context.Context, pagination *v2.Pagination) (*v2.CoreSnapshotConnection, error)
	Deposit(ctx context.Context, id string) (*fury.Deposit, error)
	Deposits(ctx context.Context, dateRange *v2.DateRange, pagination *v2.Pagination) (*v2.DepositsConnection, error)
	Entities(ctx context.Context, txHash string) (*v2.ListEntitiesResponse, error)
	Epoch(ctx context.Context, id *string) (*fury.Epoch, error)
	EpochRewardSummaries(ctx context.Context, filter *v2.RewardSummaryFilter, pagination *v2.Pagination) (*v2.EpochRewardSummaryConnection, error)
	Erc20ListAssetBundle(ctx context.Context, assetID string) (*Erc20ListAssetBundle, error)
	Erc20MultiSigSignerAddedBundles(ctx context.Context, nodeID string, submitter *string, epochSeq *string, pagination *v2.Pagination) (*ERC20MultiSigSignerAddedConnection, error)
	Erc20MultiSigSignerRemovedBundles(ctx context.Context, nodeID string, submitter *string, epochSeq *string, pagination *v2.Pagination) (*ERC20MultiSigSignerRemovedConnection, error)
	Erc20SetAssetLimitsBundle(ctx context.Context, proposalID string) (*ERC20SetAssetLimitsBundle, error)
	Erc20WithdrawalApproval(ctx context.Context, withdrawalID string) (*Erc20WithdrawalApproval, error)
	EstimateOrder(ctx context.Context, marketID string, partyID string, price *string, size string, side fury.Side, timeInForce fury.Order_TimeInForce, expiration *int64, typeArg fury.Order_Type) (*OrderEstimate, error)
	EstimateFees(ctx context.Context, marketID string, partyID string, price *string, size string, side fury.Side, timeInForce fury.Order_TimeInForce, expiration *int64, typeArg fury.Order_Type) (*FeeEstimate, error)
	EstimatePosition(ctx context.Context, marketID string, openVolume string, orders []*OrderInfo, collateralAvailable *string) (*PositionEstimate, error)
	EthereumKeyRotations(ctx context.Context, nodeID *string) (*v2.EthereumKeyRotationsConnection, error)
	GetMarketDataHistoryConnectionByID(ctx context.Context, id string, start *int64, end *int64, pagination *v2.Pagination) (*v2.MarketDataConnection, error)
	BalanceChanges(ctx context.Context, filter *v2.AccountFilter, dateRange *v2.DateRange, pagination *v2.Pagination) (*v2.AggregatedBalanceConnection, error)
	LedgerEntries(ctx context.Context, filter *v2.LedgerEntryFilter, dateRange *v2.DateRange, pagination *v2.Pagination) (*v2.AggregatedLedgerEntriesConnection, error)
	KeyRotationsConnection(ctx context.Context, id *string, pagination *v2.Pagination) (*v2.KeyRotationConnection, error)
	LastBlockHeight(ctx context.Context) (string, error)
	Market(ctx context.Context, id string) (*fury.Market, error)
	MarketsConnection(ctx context.Context, id *string, pagination *v2.Pagination, includeSettled *bool) (*v2.MarketConnection, error)
	MostRecentHistorySegment(ctx context.Context) (*v2.HistorySegment, error)
	NetworkLimits(ctx context.Context) (*fury.NetworkLimits, error)
	NetworkParameter(ctx context.Context, key string) (*fury.NetworkParameter, error)
	NetworkParametersConnection(ctx context.Context, pagination *v2.Pagination) (*v2.NetworkParameterConnection, error)
	Node(ctx context.Context, id string) (*fury.Node, error)
	NodeData(ctx context.Context) (*fury.NodeData, error)
	NodesConnection(ctx context.Context, pagination *v2.Pagination) (*v2.NodesConnection, error)
	NodeSignaturesConnection(ctx context.Context, resourceID string, pagination *v2.Pagination) (*v2.NodeSignaturesConnection, error)
	OracleDataBySpecConnection(ctx context.Context, oracleSpecID string, pagination *v2.Pagination) (*v2.OracleDataConnection, error)
	OracleDataConnection(ctx context.Context, pagination *v2.Pagination) (*v2.OracleDataConnection, error)
	OracleSpec(ctx context.Context, oracleSpecID string) (*fury.OracleSpec, error)
	OracleSpecsConnection(ctx context.Context, pagination *v2.Pagination) (*v2.OracleSpecsConnection, error)
	OrderByID(ctx context.Context, id string, version *int) (*fury.Order, error)
	OrderByReference(ctx context.Context, reference string) (*fury.Order, error)
	OrderVersionsConnection(ctx context.Context, orderID *string, pagination *v2.Pagination) (*v2.OrderConnection, error)
	PartiesConnection(ctx context.Context, id *string, pagination *v2.Pagination) (*v2.PartyConnection, error)
	Party(ctx context.Context, id string) (*fury.Party, error)
	Positions(ctx context.Context, filter *v2.PositionsFilter, pagination *v2.Pagination) (*v2.PositionConnection, error)
	Proposal(ctx context.Context, id *string, reference *string) (*fury.GovernanceData, error)
	ProposalsConnection(ctx context.Context, proposalType *v2.ListGovernanceDataRequest_Type, inState *fury.Proposal_State, pagination *v2.Pagination) (*v2.GovernanceDataConnection, error)
	ProtocolUpgradeStatus(ctx context.Context) (*ProtocolUpgradeStatus, error)
	ProtocolUpgradeProposals(ctx context.Context, inState *v1.ProtocolUpgradeProposalStatus, approvedBy *string, pagination *v2.Pagination) (*v2.ProtocolUpgradeProposalConnection, error)
	Statistics(ctx context.Context) (*v13.Statistics, error)
	Trades(ctx context.Context, filter *TradesFilter, pagination *v2.Pagination, dateRange *v2.DateRange) (*v2.TradeConnection, error)
	TransfersConnection(ctx context.Context, partyID *string, direction *TransferDirection, pagination *v2.Pagination) (*v2.TransferConnection, error)
	Withdrawal(ctx context.Context, id string) (*fury.Withdrawal, error)
	Withdrawals(ctx context.Context, dateRange *v2.DateRange, pagination *v2.Pagination) (*v2.WithdrawalsConnection, error)
}

type RankingScoreResolver

type RankingScoreResolver interface {
	VotingPower(ctx context.Context, obj *fury.RankingScore) (string, error)
}

type RecurringTransferResolver

type RecurringTransferResolver interface {
	StartEpoch(ctx context.Context, obj *v1.RecurringTransfer) (int, error)
	EndEpoch(ctx context.Context, obj *v1.RecurringTransfer) (*int, error)

	DispatchStrategy(ctx context.Context, obj *v1.RecurringTransfer) (*DispatchStrategy, error)
}

type ResolverRoot

type ResolverRoot interface {
	AccountBalance() AccountBalanceResolver
	AccountDetails() AccountDetailsResolver
	AccountEvent() AccountEventResolver
	AccountUpdate() AccountUpdateResolver
	AggregatedLedgerEntry() AggregatedLedgerEntryResolver
	Asset() AssetResolver
	AuctionEvent() AuctionEventResolver
	Candle() CandleResolver
	CoreSnapshotData() CoreSnapshotDataResolver
	DataSourceSpecConfiguration() DataSourceSpecConfigurationResolver
	Delegation() DelegationResolver
	Deposit() DepositResolver
	ERC20MultiSigSignerAddedBundle() ERC20MultiSigSignerAddedBundleResolver
	ERC20MultiSigSignerRemovedBundle() ERC20MultiSigSignerRemovedBundleResolver
	Epoch() EpochResolver
	EpochRewardSummary() EpochRewardSummaryResolver
	EpochTimestamps() EpochTimestampsResolver
	EthereumKeyRotation() EthereumKeyRotationResolver
	Future() FutureResolver
	FutureProduct() FutureProductResolver
	Instrument() InstrumentResolver
	InstrumentConfiguration() InstrumentConfigurationResolver
	KeyRotation() KeyRotationResolver
	LedgerEntry() LedgerEntryResolver
	LiquidityOrderReference() LiquidityOrderReferenceResolver
	LiquidityProvision() LiquidityProvisionResolver
	LiquidityProvisionUpdate() LiquidityProvisionUpdateResolver
	MarginLevels() MarginLevelsResolver
	MarginLevelsUpdate() MarginLevelsUpdateResolver
	Market() MarketResolver
	MarketData() MarketDataResolver
	MarketDepth() MarketDepthResolver
	MarketDepthUpdate() MarketDepthUpdateResolver
	NewAsset() NewAssetResolver
	NewFreeform() NewFreeformResolver
	NewMarket() NewMarketResolver
	Node() NodeResolver
	NodeData() NodeDataResolver
	NodeSignature() NodeSignatureResolver
	ObservableMarketData() ObservableMarketDataResolver
	ObservableMarketDepth() ObservableMarketDepthResolver
	ObservableMarketDepthUpdate() ObservableMarketDepthUpdateResolver
	OracleData() OracleDataResolver
	OracleSpec() OracleSpecResolver
	Order() OrderResolver
	OrderUpdate() OrderUpdateResolver
	Party() PartyResolver
	PartyStake() PartyStakeResolver
	Position() PositionResolver
	PositionUpdate() PositionUpdateResolver
	PriceLevel() PriceLevelResolver
	PropertyKey() PropertyKeyResolver
	Proposal() ProposalResolver
	ProposalDetail() ProposalDetailResolver
	ProposalTerms() ProposalTermsResolver
	ProtocolUpgradeProposal() ProtocolUpgradeProposalResolver
	Query() QueryResolver
	RankingScore() RankingScoreResolver
	RecurringTransfer() RecurringTransferResolver
	Reward() RewardResolver
	RewardSummary() RewardSummaryResolver
	StakeLinking() StakeLinkingResolver
	Statistics() StatisticsResolver
	Subscription() SubscriptionResolver
	TradableInstrument() TradableInstrumentResolver
	Trade() TradeResolver
	TradeUpdate() TradeUpdateResolver
	TransactionResult() TransactionResultResolver
	Transfer() TransferResolver
	UpdateAsset() UpdateAssetResolver
	UpdateFutureProduct() UpdateFutureProductResolver
	UpdateMarket() UpdateMarketResolver
	UpdateMarketConfiguration() UpdateMarketConfigurationResolver
	UpdateNetworkParameter() UpdateNetworkParameterResolver
	Vote() VoteResolver
	Withdrawal() WithdrawalResolver
	DateRange() DateRangeResolver
	OrderFilter() OrderFilterResolver
	RewardSummaryFilter() RewardSummaryFilterResolver
}

type RewardResolver

type RewardResolver interface {
	Asset(ctx context.Context, obj *fury.Reward) (*fury.Asset, error)

	RewardType(ctx context.Context, obj *fury.Reward) (fury.AccountType, error)
	Party(ctx context.Context, obj *fury.Reward) (*fury.Party, error)
	Epoch(ctx context.Context, obj *fury.Reward) (*fury.Epoch, error)
}

type RewardSummaryConnection

type RewardSummaryConnection struct {
	// List of reward summaries available for the connection
	Edges []*RewardSummaryEdge `json:"edges"`
	// Page information for the connection
	PageInfo *v2.PageInfo `json:"pageInfo"`
}

Connection type for retrieving cursor-based paginated reward summary information

type RewardSummaryEdge

type RewardSummaryEdge struct {
	// The reward summary
	Node *fury.RewardSummary `json:"node"`
	// Cursor identifying the reward summary
	Cursor string `json:"cursor"`
}

Edge type containing the reward summary and cursor information returned by a RewardSummaryConnection

type RewardSummaryFilterResolver

type RewardSummaryFilterResolver interface {
	FromEpoch(ctx context.Context, obj *v2.RewardSummaryFilter, data *int) error
	ToEpoch(ctx context.Context, obj *v2.RewardSummaryFilter, data *int) error
}

type RewardSummaryResolver

type RewardSummaryResolver interface {
	Asset(ctx context.Context, obj *fury.RewardSummary) (*fury.Asset, error)

	RewardsConnection(ctx context.Context, obj *fury.RewardSummary, assetID *string, pagination *v2.Pagination) (*v2.RewardsConnection, error)
}

type RiskModel

type RiskModel interface {
	IsRiskModel()
}

type SettleDistressed

type SettleDistressed struct {
	// The market in which a position was closed out
	MarketID string `json:"marketId"`
	// The party that was closed out
	PartyID string `json:"partyId"`
	// The margin taken from distressed party
	Margin string `json:"margin"`
	// The price at which the position was closed out
	Price string `json:"price"`
}

type SettlePosition

type SettlePosition struct {
	// The market in which a position was settled
	MarketID string `json:"marketId"`
	// The party who settled a position
	PartyID string `json:"partyId"`
	// The settle price
	Price string `json:"price"`
	// The trades that were settled to close the overall position
	TradeSettlements []*TradeSettlement `json:"tradeSettlements"`
}

type Signer

type Signer struct {
	Signer SignerKind `json:"signer"`
}

Signer is the authorized signature used for the data.

type SignerKind

type SignerKind interface {
	IsSignerKind()
}

type StakeLinkingResolver

type StakeLinkingResolver interface {
	Timestamp(ctx context.Context, obj *v1.StakeLinking) (int64, error)
	Party(ctx context.Context, obj *v1.StakeLinking) (*fury.Party, error)

	BlockHeight(ctx context.Context, obj *v1.StakeLinking) (string, error)
}

type StakingSummary

type StakingSummary struct {
	// The stake currently available for the party
	CurrentStakeAvailable string `json:"currentStakeAvailable"`
	// The list of all stake link/unlink for the party
	Linkings *v2.StakesConnection `json:"linkings"`
}

All staking information related to a Party. Contains the current recognised balance by the network and all the StakeLink/Unlink seen by the network

type StatisticsResolver

type StatisticsResolver interface {
	BlockHeight(ctx context.Context, obj *v13.Statistics) (string, error)

	BacklogLength(ctx context.Context, obj *v13.Statistics) (string, error)
	TotalPeers(ctx context.Context, obj *v13.Statistics) (string, error)
	GenesisTime(ctx context.Context, obj *v13.Statistics) (int64, error)
	CurrentTime(ctx context.Context, obj *v13.Statistics) (int64, error)

	FuryTime(ctx context.Context, obj *v13.Statistics) (int64, error)
	Status(ctx context.Context, obj *v13.Statistics) (string, error)
	TxPerBlock(ctx context.Context, obj *v13.Statistics) (string, error)
	AverageTxBytes(ctx context.Context, obj *v13.Statistics) (string, error)
	AverageOrdersPerBlock(ctx context.Context, obj *v13.Statistics) (string, error)
	TradesPerSecond(ctx context.Context, obj *v13.Statistics) (string, error)
	OrdersPerSecond(ctx context.Context, obj *v13.Statistics) (string, error)
	TotalMarkets(ctx context.Context, obj *v13.Statistics) (string, error)
	TotalAmendOrder(ctx context.Context, obj *v13.Statistics) (string, error)
	TotalCancelOrder(ctx context.Context, obj *v13.Statistics) (string, error)
	TotalCreateOrder(ctx context.Context, obj *v13.Statistics) (string, error)
	TotalOrders(ctx context.Context, obj *v13.Statistics) (string, error)
	TotalTrades(ctx context.Context, obj *v13.Statistics) (string, error)
	EventCount(ctx context.Context, obj *v13.Statistics) (string, error)
	EventsPerSecond(ctx context.Context, obj *v13.Statistics) (string, error)

	BlockDuration(ctx context.Context, obj *v13.Statistics) (string, error)
}

type SubscriptionResolver

type SubscriptionResolver interface {
	Accounts(ctx context.Context, marketID *string, partyID *string, assetID *string, typeArg *fury.AccountType) (<-chan []*v2.AccountBalance, error)
	BusEvents(ctx context.Context, types []BusEventType, marketID *string, partyID *string, batchSize int) (<-chan []*BusEvent, error)
	Candles(ctx context.Context, marketID string, interval fury.Interval) (<-chan *v2.Candle, error)
	LiquidityProvisions(ctx context.Context, partyID *string, marketID *string) (<-chan []*fury.LiquidityProvision, error)
	Margins(ctx context.Context, partyID string, marketID *string) (<-chan *fury.MarginLevels, error)
	MarketsData(ctx context.Context, marketIds []string) (<-chan []*fury.MarketData, error)
	MarketsDepth(ctx context.Context, marketIds []string) (<-chan []*fury.MarketDepth, error)
	MarketsDepthUpdate(ctx context.Context, marketIds []string) (<-chan []*fury.MarketDepthUpdate, error)
	Orders(ctx context.Context, filter *OrderByMarketAndPartyIdsFilter) (<-chan []*fury.Order, error)
	Positions(ctx context.Context, partyID *string, marketID *string) (<-chan []*fury.Position, error)
	Proposals(ctx context.Context, partyID *string) (<-chan *fury.GovernanceData, error)
	Trades(ctx context.Context, marketID *string, partyID *string) (<-chan []*fury.Trade, error)
	TradesStream(ctx context.Context, filter TradesSubscriptionFilter) (<-chan []*fury.Trade, error)
	Votes(ctx context.Context, proposalID *string, partyID *string) (<-chan *ProposalVote, error)
}

type TargetStakeParameters

type TargetStakeParameters struct {
	// Specifies length of time window expressed in seconds for target stake calculation
	TimeWindow int `json:"timeWindow"`
	// Specifies scaling factors used in target stake calculation
	ScalingFactor float64 `json:"scalingFactor"`
}

TargetStakeParameters contains parameters used in target stake calculation

type TimeUpdate

type TimeUpdate struct {
	// RFC3339Nano time of new block time
	Timestamp int64 `json:"timestamp"`
}

func (TimeUpdate) IsEvent

func (TimeUpdate) IsEvent()

type TradableInstrumentResolver

type TradableInstrumentResolver interface {
	RiskModel(ctx context.Context, obj *fury.TradableInstrument) (RiskModel, error)
}

type TradeFee

type TradeFee struct {
	// The maker fee, paid by the aggressive party to the other party (the one who had an order in the book)
	MakerFee string `json:"makerFee"`
	// The infrastructure fee, a fee paid to the validators to maintain the Fury network
	InfrastructureFee string `json:"infrastructureFee"`
	// The fee paid to the liquidity providers that committed liquidity to the market
	LiquidityFee string `json:"liquidityFee"`
}

The fee paid by the party when a trade occurs

type TradeResolver

type TradeResolver interface {
	Market(ctx context.Context, obj *fury.Trade) (*fury.Market, error)

	Buyer(ctx context.Context, obj *fury.Trade) (*fury.Party, error)
	Seller(ctx context.Context, obj *fury.Trade) (*fury.Party, error)

	Size(ctx context.Context, obj *fury.Trade) (string, error)
	CreatedAt(ctx context.Context, obj *fury.Trade) (int64, error)

	BuyerFee(ctx context.Context, obj *fury.Trade) (*TradeFee, error)
	SellerFee(ctx context.Context, obj *fury.Trade) (*TradeFee, error)
	BuyerAuctionBatch(ctx context.Context, obj *fury.Trade) (*int, error)
	SellerAuctionBatch(ctx context.Context, obj *fury.Trade) (*int, error)
}

type TradeSettlement

type TradeSettlement struct {
	// The size of the trade
	Size int `json:"size"`
	// The price of the trade
	Price string `json:"price"`
}

type TradeUpdateResolver

type TradeUpdateResolver interface {
	BuyerID(ctx context.Context, obj *fury.Trade) (string, error)
	SellerID(ctx context.Context, obj *fury.Trade) (string, error)

	Size(ctx context.Context, obj *fury.Trade) (string, error)
	CreatedAt(ctx context.Context, obj *fury.Trade) (int64, error)

	BuyerFee(ctx context.Context, obj *fury.Trade) (*TradeFee, error)
	SellerFee(ctx context.Context, obj *fury.Trade) (*TradeFee, error)
	BuyerAuctionBatch(ctx context.Context, obj *fury.Trade) (*int, error)
	SellerAuctionBatch(ctx context.Context, obj *fury.Trade) (*int, error)
}

type TradesFilter

type TradesFilter struct {
	PartyIds  []string `json:"partyIds"`
	MarketIds []string `json:"marketIds"`
	OrderIds  []string `json:"orderIds"`
}

Filter to apply to the trade connection query

type TradesSubscriptionFilter

type TradesSubscriptionFilter struct {
	PartyIds  []string `json:"partyIds"`
	MarketIds []string `json:"marketIds"`
}

Filter to apply to the trade subscription request

type TradingDataServiceClientV2

type TradingDataServiceClientV2 interface {
	v2.TradingDataServiceClient
}

type TransactionResultResolver

type TransactionResultResolver interface {
	Error(ctx context.Context, obj *v1.TransactionResult) (*string, error)
}

type TransactionSubmitted

type TransactionSubmitted struct {
	Success bool `json:"success"`
}

type TransferBalance

type TransferBalance struct {
	// Account involved in transfer
	Account *fury.AccountDetails `json:"account"`
	// The new balance of the account
	Balance string `json:"balance"`
}

type TransferDirection

type TransferDirection string

Filter type for specifying the types of transfers to filter for

const (
	TransferDirectionTo       TransferDirection = "To"
	TransferDirectionFrom     TransferDirection = "From"
	TransferDirectionToOrFrom TransferDirection = "ToOrFrom"
)

func (TransferDirection) IsValid

func (e TransferDirection) IsValid() bool

func (TransferDirection) MarshalGQL

func (e TransferDirection) MarshalGQL(w io.Writer)

func (TransferDirection) String

func (e TransferDirection) String() string

func (*TransferDirection) UnmarshalGQL

func (e *TransferDirection) UnmarshalGQL(v interface{}) error

type TransferKind

type TransferKind interface {
	IsTransferKind()
}

type TransferResolver

type TransferResolver interface {
	Asset(ctx context.Context, obj *v1.Transfer) (*fury.Asset, error)

	Kind(ctx context.Context, obj *v1.Transfer) (TransferKind, error)
}

type TransferResponse

type TransferResponse struct {
	// The ledger entries and balances resulting from a transfer request
	Transfers []*fury.LedgerEntry `json:"transfers"`
	// The balances of accounts involved in the transfer
	Balances []*TransferBalance `json:"balances"`
}

type TransferResponses

type TransferResponses struct {
	// A group of transfer responses - events from core
	Responses []*TransferResponse `json:"responses"`
}

type UpdateAssetResolver

type UpdateAssetResolver interface {
	Quantum(ctx context.Context, obj *fury.UpdateAsset) (string, error)
	Source(ctx context.Context, obj *fury.UpdateAsset) (UpdateAssetSource, error)
}

type UpdateAssetSource

type UpdateAssetSource interface {
	IsUpdateAssetSource()
}

One of the possible asset sources for update assets proposals

func UpdateAssetSourceFromProto

func UpdateAssetSourceFromProto(pdetails *types.AssetDetailsUpdate) (UpdateAssetSource, error)

type UpdateErc20

type UpdateErc20 struct {
	// The lifetime limits deposit per address
	// Note: this is a temporary measure that can be changed by governance
	LifetimeLimit string `json:"lifetimeLimit"`
	// The maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.
	// There is no limit on the size of a withdrawal
	// Note: this is a temporary measure that can be changed by governance
	WithdrawThreshold string `json:"withdrawThreshold"`
}

An asset originated from an Ethereum ERC20 Token

func UpdateERC20FromProto

func UpdateERC20FromProto(ea *types.ERC20Update) *UpdateErc20

func (UpdateErc20) IsUpdateAssetSource

func (UpdateErc20) IsUpdateAssetSource()

type UpdateFutureProductResolver

type UpdateFutureProductResolver interface {
	DataSourceSpecForSettlementData(ctx context.Context, obj *fury.UpdateFutureProduct) (*DataSourceDefinition, error)
	DataSourceSpecForTradingTermination(ctx context.Context, obj *fury.UpdateFutureProduct) (*DataSourceDefinition, error)
}

type UpdateInstrumentConfiguration

type UpdateInstrumentConfiguration struct {
	Code    string                    `json:"code"`
	Product *fury.UpdateFutureProduct `json:"product"`
}

type UpdateMarketConfigurationResolver

type UpdateMarketConfigurationResolver interface {
	Instrument(ctx context.Context, obj *fury.UpdateMarketConfiguration) (*UpdateInstrumentConfiguration, error)

	PriceMonitoringParameters(ctx context.Context, obj *fury.UpdateMarketConfiguration) (*PriceMonitoringParameters, error)
	LiquidityMonitoringParameters(ctx context.Context, obj *fury.UpdateMarketConfiguration) (*LiquidityMonitoringParameters, error)
	RiskParameters(ctx context.Context, obj *fury.UpdateMarketConfiguration) (UpdateMarketRiskParameters, error)
}

type UpdateMarketResolver

type UpdateMarketResolver interface {
	UpdateMarketConfiguration(ctx context.Context, obj *fury.UpdateMarket) (*fury.UpdateMarketConfiguration, error)
}

type UpdateMarketRiskParameters

type UpdateMarketRiskParameters interface {
	IsUpdateMarketRiskParameters()
}

type UpdateNetworkParameterResolver

type UpdateNetworkParameterResolver interface {
	NetworkParameter(ctx context.Context, obj *fury.UpdateNetworkParameter) (*fury.NetworkParameter, error)
}

type VoteResolver

type VoteResolver interface {
	Party(ctx context.Context, obj *fury.Vote) (*fury.Party, error)
	Datetime(ctx context.Context, obj *fury.Vote) (int64, error)

	GovernanceTokenBalance(ctx context.Context, obj *fury.Vote) (string, error)
	GovernanceTokenWeight(ctx context.Context, obj *fury.Vote) (string, error)
	EquityLikeShareWeight(ctx context.Context, obj *fury.Vote) (string, error)
}

type WithdrawalDetails

type WithdrawalDetails interface {
	IsWithdrawalDetails()
}

type WithdrawalResolver

type WithdrawalResolver interface {
	Party(ctx context.Context, obj *fury.Withdrawal) (*fury.Party, error)

	Asset(ctx context.Context, obj *fury.Withdrawal) (*fury.Asset, error)

	TxHash(ctx context.Context, obj *fury.Withdrawal) (*string, error)
	Details(ctx context.Context, obj *fury.Withdrawal) (WithdrawalDetails, error)
}

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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