chore(#1905): updates to accomodate changes to datasource apis (#1919)

* chore: updates to accomodate change to datasource apis

* chore: update types for proposal submission

* chore: update queries to work with latest core changes
This commit is contained in:
Matthew Russell 2022-11-08 19:05:48 -06:00 committed by GitHub
parent d3e79b76d5
commit 71e8235faf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 1189 additions and 419 deletions

View File

@ -138,7 +138,7 @@ export const singleMarket: SingleMarketFieldsFragment = {
id: 'dai-id', id: 'dai-id',
name: 'DAI Name', name: 'DAI Name',
}, },
oracleSpecForTradingTermination: { dataSourceSpecForTradingTermination: {
id: 'oid', id: 'oid',
}, },
}, },

View File

@ -2,23 +2,79 @@ query OracleSpecs {
oracleSpecsConnection { oracleSpecsConnection {
edges { edges {
node { node {
status dataSourceSpec {
id spec {
createdAt id
updatedAt createdAt
pubKeys updatedAt
filters { status
key { data {
name sourceType {
type ... on DataSourceDefinitionInternal {
} sourceType {
conditions { ... on DataSourceSpecConfigurationTime {
value conditions {
operator value
operator
}
}
}
}
... on DataSourceDefinitionExternal {
sourceType {
... on DataSourceSpecConfiguration {
signers {
signer {
... on ETHAddress {
address
}
... on PubKey {
key
}
}
}
filters {
key {
name
type
}
conditions {
value
operator
}
}
}
}
}
}
}
} }
} }
data { dataConnection {
pubKeys edges {
node {
externalData {
data {
signers {
signer {
... on ETHAddress {
address
}
... on PubKey {
key
}
}
}
data {
name
value
}
matchedSpecIds
broadcastAt
}
}
}
}
} }
} }
} }

View File

@ -3,25 +3,13 @@
// @generated // @generated
// This file was automatically generated and should not be edited. // This file was automatically generated and should not be edited.
import { OracleSpecStatus, PropertyKeyType, ConditionOperator } from "@vegaprotocol/types"; import { DataSourceSpecStatus, ConditionOperator, PropertyKeyType } from "@vegaprotocol/types";
// ==================================================== // ====================================================
// GraphQL query operation: OracleSpecs // GraphQL query operation: OracleSpecs
// ==================================================== // ====================================================
export interface OracleSpecs_oracleSpecs_filters_key { export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal_sourceType_conditions {
__typename: "PropertyKey";
/**
* The name of the property.
*/
name: string | null;
/**
* The type of the property.
*/
type: PropertyKeyType;
}
export interface OracleSpecs_oracleSpecs_filters_conditions {
__typename: "Condition"; __typename: "Condition";
/** /**
* The value to compare against. * The value to compare against.
@ -33,35 +21,101 @@ export interface OracleSpecs_oracleSpecs_filters_conditions {
operator: ConditionOperator; operator: ConditionOperator;
} }
export interface OracleSpecs_oracleSpecs_filters { export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal_sourceType {
__typename: "DataSourceSpecConfigurationTime";
conditions: (OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal_sourceType_conditions | null)[];
}
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal {
__typename: "DataSourceDefinitionInternal";
sourceType: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal_sourceType;
}
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress {
__typename: "ETHAddress";
address: string | null;
}
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey {
__typename: "PubKey";
key: string | null;
}
export type OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer = OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress | OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey;
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers {
__typename: "Signer";
signer: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer;
}
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters_key {
__typename: "PropertyKey";
/**
* The name of the property.
*/
name: string | null;
/**
* The type of the property.
*/
type: PropertyKeyType;
}
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions {
__typename: "Condition";
/**
* The value to compare against.
*/
value: string | null;
/**
* The type of comparison to make on the value.
*/
operator: ConditionOperator;
}
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters {
__typename: "Filter"; __typename: "Filter";
/** /**
* The oracle data property key targeted by the filter. * key is the data source data property key targeted by the filter.
*/ */
key: OracleSpecs_oracleSpecs_filters_key; key: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters_key;
/** /**
* The conditions that should be matched by the data to be * The conditions that should be matched by the data to be
* considered of interest. * considered of interest.
*/ */
conditions: OracleSpecs_oracleSpecs_filters_conditions[] | null; conditions: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions[] | null;
} }
export interface OracleSpecs_oracleSpecs_data { export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType {
__typename: "OracleData"; __typename: "DataSourceSpecConfiguration";
/** /**
* The list of public keys that signed the data * signers is the list of authorized signatures that signed the data for this
* data source. All the public keys in the data should be contained in this
* list.
*/ */
pubKeys: string[] | null; signers: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers[] | null;
/**
* filters describes which source data are considered of interest or not for
* the product (or the risk model).
*/
filters: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters[] | null;
} }
export interface OracleSpecs_oracleSpecs { export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal {
__typename: "OracleSpec"; __typename: "DataSourceDefinitionExternal";
sourceType: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType;
}
export type OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType = OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal | OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal;
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data {
__typename: "DataSourceDefinition";
sourceType: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType;
}
export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec {
__typename: "DataSourceSpec";
/** /**
* Status describes the status of the oracle spec * ID is a hash generated from the DataSourceSpec data.
*/
status: OracleSpecStatus;
/**
* ID is a hash generated from the OracleSpec data.
*/ */
id: string; id: string;
/** /**
@ -73,20 +127,102 @@ export interface OracleSpecs_oracleSpecs {
*/ */
updatedAt: string | null; updatedAt: string | null;
/** /**
* The list of authorized public keys that signed the data for this * Status describes the status of the data source spec
* oracle. All the public keys in the oracle data should be contained in these
* public keys.
*/ */
pubKeys: string[] | null; status: DataSourceSpecStatus;
data: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data;
}
export interface OracleSpecs_oracleSpecs_dataSourceSpec {
__typename: "ExternalDataSourceSpec";
spec: OracleSpecs_oracleSpecs_dataSourceSpec_spec;
}
export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer_ETHAddress {
__typename: "ETHAddress";
address: string | null;
}
export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer_PubKey {
__typename: "PubKey";
key: string | null;
}
export type OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer = OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer_ETHAddress | OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer_PubKey;
export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers {
__typename: "Signer";
signer: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer;
}
export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_data {
__typename: "Property";
/** /**
* Filters describes which oracle data are considered of interest or not for * Name of the property
* the product (or the risk model).
*/ */
filters: OracleSpecs_oracleSpecs_filters[] | null; name: string;
/**
* Value of the property
*/
value: string;
}
export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data {
__typename: "Data";
/**
* signers is the list of public keys/ETH addresses that signed the data
*/
signers: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers[] | null;
/**
* properties contains all the properties sent by a data source
*/
data: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_data[] | null;
/**
* 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[] | null;
/**
* 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: string;
}
export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData {
__typename: "ExternalData";
data: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data;
}
export interface OracleSpecs_oracleSpecs_dataConnection_edges_node {
__typename: "OracleData";
externalData: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData;
}
export interface OracleSpecs_oracleSpecs_dataConnection_edges {
__typename: "OracleDataEdge";
/**
* The oracle data source
*/
node: OracleSpecs_oracleSpecs_dataConnection_edges_node;
}
export interface OracleSpecs_oracleSpecs_dataConnection {
__typename: "OracleDataConnection";
/**
* The oracle data spec
*/
edges: (OracleSpecs_oracleSpecs_dataConnection_edges | null)[] | null;
}
export interface OracleSpecs_oracleSpecs {
__typename: "OracleSpec";
dataSourceSpec: OracleSpecs_oracleSpecs_dataSourceSpec;
/** /**
* Data list all the oracle data broadcast to this spec * Data list all the oracle data broadcast to this spec
*/ */
data: OracleSpecs_oracleSpecs_data[]; dataConnection: OracleSpecs_oracleSpecs_dataConnection;
} }
export interface OracleSpecs { export interface OracleSpecs {

View File

@ -6,7 +6,7 @@ const defaultOptions = {} as const;
export type OracleSpecsQueryVariables = Types.Exact<{ [key: string]: never; }>; export type OracleSpecsQueryVariables = Types.Exact<{ [key: string]: never; }>;
export type OracleSpecsQuery = { __typename?: 'Query', oracleSpecsConnection?: { __typename?: 'OracleSpecsConnection', edges?: Array<{ __typename?: 'OracleSpecEdge', node: { __typename?: 'OracleSpec', status: Types.OracleSpecStatus, id: string, createdAt: string, updatedAt?: string | null, pubKeys?: Array<string> | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', value?: string | null, operator: Types.ConditionOperator }> | null }> | null, data: Array<{ __typename?: 'OracleData', pubKeys?: Array<string> | null }> } } | null> | null } | null }; export type OracleSpecsQuery = { __typename?: 'Query', oracleSpecsConnection?: { __typename?: 'OracleSpecsConnection', edges?: Array<{ __typename?: 'OracleSpecEdge', node: { __typename?: 'OracleSpec', dataSourceSpec: { __typename?: 'ExternalDataSourceSpec', spec: { __typename?: 'DataSourceSpec', id: string, createdAt: string, updatedAt?: string | null, status: Types.DataSourceSpecStatus, data: { __typename?: 'DataSourceDefinition', sourceType: { __typename?: 'DataSourceDefinitionExternal', sourceType: { __typename?: 'DataSourceSpecConfiguration', signers?: Array<{ __typename?: 'Signer', signer: { __typename?: 'ETHAddress', address?: string | null } | { __typename?: 'PubKey', key?: string | null } }> | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', value?: string | null, operator: Types.ConditionOperator }> | null }> | null } } | { __typename?: 'DataSourceDefinitionInternal', sourceType: { __typename?: 'DataSourceSpecConfigurationTime', conditions: Array<{ __typename?: 'Condition', value?: string | null, operator: Types.ConditionOperator } | null> } } } } }, dataConnection: { __typename?: 'OracleDataConnection', edges?: Array<{ __typename?: 'OracleDataEdge', node: { __typename?: 'OracleData', externalData: { __typename?: 'ExternalData', data: { __typename?: 'Data', matchedSpecIds?: Array<string> | null, broadcastAt: string, signers?: Array<{ __typename?: 'Signer', signer: { __typename?: 'ETHAddress', address?: string | null } | { __typename?: 'PubKey', key?: string | null } }> | null, data?: Array<{ __typename?: 'Property', name: string, value: string }> | null } } } } | null> | null } } } | null> | null } | null };
export const OracleSpecsDocument = gql` export const OracleSpecsDocument = gql`
@ -14,23 +14,79 @@ export const OracleSpecsDocument = gql`
oracleSpecsConnection { oracleSpecsConnection {
edges { edges {
node { node {
status dataSourceSpec {
id spec {
createdAt id
updatedAt createdAt
pubKeys updatedAt
filters { status
key { data {
name sourceType {
type ... on DataSourceDefinitionInternal {
} sourceType {
conditions { ... on DataSourceSpecConfigurationTime {
value conditions {
operator value
operator
}
}
}
}
... on DataSourceDefinitionExternal {
sourceType {
... on DataSourceSpecConfiguration {
signers {
signer {
... on ETHAddress {
address
}
... on PubKey {
key
}
}
}
filters {
key {
name
type
}
conditions {
value
operator
}
}
}
}
}
}
}
} }
} }
data { dataConnection {
pubKeys edges {
node {
externalData {
data {
signers {
signer {
... on ETHAddress {
address
}
... on PubKey {
key
}
}
}
data {
name
value
}
matchedSpecIds
broadcastAt
}
}
}
}
} }
} }
} }

View File

@ -11,23 +11,79 @@ import { SubHeading } from '../../components/sub-heading';
const ORACLE_SPECS_QUERY = gql` const ORACLE_SPECS_QUERY = gql`
query OracleSpecs { query OracleSpecs {
oracleSpecs { oracleSpecs {
status dataSourceSpec {
id spec {
createdAt id
updatedAt createdAt
pubKeys updatedAt
filters { status
key { data {
name sourceType {
type ... on DataSourceDefinitionInternal {
} sourceType {
conditions { ... on DataSourceSpecConfigurationTime {
value conditions {
operator value
operator
}
}
}
}
... on DataSourceDefinitionExternal {
sourceType {
... on DataSourceSpecConfiguration {
signers {
signer {
... on ETHAddress {
address
}
... on PubKey {
key
}
}
}
filters {
key {
name
type
}
conditions {
value
operator
}
}
}
}
}
}
}
} }
} }
data { dataConnection {
pubKeys edges {
node {
externalData {
data {
signers {
signer {
... on ETHAddress {
address
}
... on PubKey {
key
}
}
}
data {
name
value
}
matchedSpecIds
broadcastAt
}
}
}
}
} }
} }
} }
@ -53,12 +109,15 @@ const Oracles = () => {
<section> <section>
<RouteTitle data-testid="oracle-specs-heading">{t('Oracles')}</RouteTitle> <RouteTitle data-testid="oracle-specs-heading">{t('Oracles')}</RouteTitle>
{data?.oracleSpecs {data?.oracleSpecs
? data.oracleSpecs.map((o) => ( ? data.oracleSpecs.map((o) => {
<React.Fragment key={o.id}> const id = o.dataSourceSpec.spec.id;
<SubHeading id={o.id.toString()}>{o.id}</SubHeading> return (
<SyntaxHighlighter data={o} /> <React.Fragment key={id}>
</React.Fragment> <SubHeading id={id.toString()}>{id}</SubHeading>
)) <SyntaxHighlighter data={o} />
</React.Fragment>
);
})
: null} : null}
</section> </section>
); );

View File

@ -9,8 +9,15 @@
"settlementAsset": "8b52d4a3a4b0ffe733cddbc2b67be273816cfeb6ca4c8b339bac03ffba08e4e4", "settlementAsset": "8b52d4a3a4b0ffe733cddbc2b67be273816cfeb6ca4c8b339bac03ffba08e4e4",
"quoteName": "tEuro", "quoteName": "tEuro",
"settlementDataDecimals": 5, "settlementDataDecimals": 5,
"oracleSpecForSettlementPrice": { "dataSourceSpecForSettlementData": {
"pubKeys": ["0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC"], "signers": [
{
"signer": {
"__typename": "ETHAddress",
"address": "0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC"
}
}
],
"filters": [ "filters": [
{ {
"key": { "key": {
@ -26,8 +33,15 @@
} }
] ]
}, },
"oracleSpecForTradingTermination": { "dataSourceSpecForTradingTermination": {
"pubKeys": ["0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC"], "signers": [
{
"signer": {
"__typename": "ETHAddress",
"address": "0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC"
}
}
],
"filters": [ "filters": [
{ {
"key": { "key": {
@ -43,7 +57,7 @@
} }
] ]
}, },
"oracleSpecBinding": { "dataSourceSpecBinding": {
"settlementPriceProperty": "prices.BTC.value", "settlementPriceProperty": "prices.BTC.value",
"tradingTerminationProperty": "vegaprotocol.builtin.timestamp" "tradingTerminationProperty": "vegaprotocol.builtin.timestamp"
} }

View File

@ -6,8 +6,15 @@
"future": { "future": {
"quoteName": "tEuro", "quoteName": "tEuro",
"settlementDataDecimals": 5, "settlementDataDecimals": 5,
"oracleSpecForSettlementPrice": { "dataSourceSpecForSettlementData": {
"pubKeys": ["0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC"], "signers": [
{
"signer": {
"__typename": "ETHAddress",
"address": "0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC"
}
}
],
"filters": [ "filters": [
{ {
"key": { "key": {
@ -23,8 +30,15 @@
} }
] ]
}, },
"oracleSpecForTradingTermination": { "dataSourceSpecForTradingTermination": {
"pubKeys": ["0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC"], "signers": [
{
"signer": {
"__typename": "ETHAddress",
"address": "0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC"
}
}
],
"filters": [ "filters": [
{ {
"key": { "key": {
@ -40,7 +54,7 @@
} }
] ]
}, },
"oracleSpecBinding": { "dataSourceSpecBinding": {
"settlementPriceProperty": "prices.BTC.value", "settlementPriceProperty": "prices.BTC.value",
"tradingTerminationProperty": "vegaprotocol.builtin.timestamp" "tradingTerminationProperty": "vegaprotocol.builtin.timestamp"
} }

View File

@ -3,7 +3,7 @@
// @generated // @generated
// This file was automatically generated and should not be edited. // This file was automatically generated and should not be edited.
import { ProposalState, ProposalRejectionReason, PropertyKeyType, ConditionOperator, VoteValue } from "@vegaprotocol/types"; import { ProposalState, ProposalRejectionReason, ConditionOperator, PropertyKeyType, VoteValue } from "@vegaprotocol/types";
// ==================================================== // ====================================================
// GraphQL query operation: Proposal // GraphQL query operation: Proposal
@ -61,19 +61,7 @@ export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProdu
quantum: string; quantum: string;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForSettlementData_filters_key { export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal_sourceType_conditions {
__typename: "PropertyKey";
/**
* The name of the property.
*/
name: string | null;
/**
* The type of the property.
*/
type: PropertyKeyType;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForSettlementData_filters_conditions {
__typename: "Condition"; __typename: "Condition";
/** /**
* The type of comparison to make on the value. * The type of comparison to make on the value.
@ -85,35 +73,34 @@ export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProdu
value: string | null; value: string | null;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForSettlementData_filters { export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal_sourceType {
__typename: "Filter"; __typename: "DataSourceSpecConfigurationTime";
/** conditions: (Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal_sourceType_conditions | null)[];
* The oracle data property key targeted by the filter.
*/
key: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForSettlementData_filters_key;
/**
* The conditions that should be matched by the data to be
* considered of interest.
*/
conditions: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForSettlementData_filters_conditions[] | null;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForSettlementData { export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal {
__typename: "OracleSpecConfiguration"; __typename: "DataSourceDefinitionInternal";
/** sourceType: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal_sourceType;
* The list of authorised public keys that signed the data for this
* oracle. All the public keys in the oracle data should be contained in these
* public keys.
*/
pubKeys: string[] | null;
/**
* Filters describes which oracle data are considered of interest or not for
* the product (or the risk model).
*/
filters: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForSettlementData_filters[] | null;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForTradingTermination_filters_key { export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey {
__typename: "PubKey";
key: string | null;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress {
__typename: "ETHAddress";
address: string | null;
}
export type Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer = Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey | Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress;
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers {
__typename: "Signer";
signer: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters_key {
__typename: "PropertyKey"; __typename: "PropertyKey";
/** /**
* The name of the property. * The name of the property.
@ -125,7 +112,7 @@ export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProdu
type: PropertyKeyType; type: PropertyKeyType;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForTradingTermination_filters_conditions { export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions {
__typename: "Condition"; __typename: "Condition";
/** /**
* The type of comparison to make on the value. * The type of comparison to make on the value.
@ -137,36 +124,151 @@ export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProdu
value: string | null; value: string | null;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForTradingTermination_filters { export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters {
__typename: "Filter"; __typename: "Filter";
/** /**
* The oracle data property key targeted by the filter. * key is the data source data property key targeted by the filter.
*/ */
key: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForTradingTermination_filters_key; key: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters_key;
/** /**
* The conditions that should be matched by the data to be * The conditions that should be matched by the data to be
* considered of interest. * considered of interest.
*/ */
conditions: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForTradingTermination_filters_conditions[] | null; conditions: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions[] | null;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForTradingTermination { export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType {
__typename: "OracleSpecConfiguration"; __typename: "DataSourceSpecConfiguration";
/** /**
* The list of authorised public keys that signed the data for this * signers is the list of authorized signatures that signed the data for this
* oracle. All the public keys in the oracle data should be contained in these * data source. All the public keys in the data should be contained in this
* public keys. * list.
*/ */
pubKeys: string[] | null; signers: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers[] | null;
/** /**
* Filters describes which oracle data are considered of interest or not for * filters describes which source data are considered of interest or not for
* the product (or the risk model). * the product (or the risk model).
*/ */
filters: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForTradingTermination_filters[] | null; filters: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters[] | null;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecBinding { export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal {
__typename: "OracleSpecToFutureBinding"; __typename: "DataSourceDefinitionExternal";
sourceType: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType;
}
export type Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType = Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal | Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal;
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData {
__typename: "DataSourceDefinition";
sourceType: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData_sourceType;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal_sourceType_conditions {
__typename: "Condition";
/**
* The type of comparison to make on the value.
*/
operator: ConditionOperator;
/**
* The value to compare against.
*/
value: string | null;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal_sourceType {
__typename: "DataSourceSpecConfigurationTime";
conditions: (Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal_sourceType_conditions | null)[];
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal {
__typename: "DataSourceDefinitionInternal";
sourceType: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal_sourceType;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey {
__typename: "PubKey";
key: string | null;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress {
__typename: "ETHAddress";
address: string | null;
}
export type Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer = Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey | Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress;
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers {
__typename: "Signer";
signer: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters_key {
__typename: "PropertyKey";
/**
* The name of the property.
*/
name: string | null;
/**
* The type of the property.
*/
type: PropertyKeyType;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions {
__typename: "Condition";
/**
* The type of comparison to make on the value.
*/
operator: ConditionOperator;
/**
* The value to compare against.
*/
value: string | null;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters {
__typename: "Filter";
/**
* key is the data source data property key targeted by the filter.
*/
key: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters_key;
/**
* The conditions that should be matched by the data to be
* considered of interest.
*/
conditions: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions[] | null;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType {
__typename: "DataSourceSpecConfiguration";
/**
* signers is the list of authorized signatures that signed the data for this
* data source. All the public keys in the data should be contained in this
* list.
*/
signers: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers[] | null;
/**
* filters describes which source data are considered of interest or not for
* the product (or the risk model).
*/
filters: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters[] | null;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal {
__typename: "DataSourceDefinitionExternal";
sourceType: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType;
}
export type Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType = Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal | Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal;
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination {
__typename: "DataSourceDefinition";
sourceType: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination_sourceType;
}
export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecBinding {
__typename: "DataSourceSpecToFutureBinding";
settlementDataProperty: string; settlementDataProperty: string;
tradingTerminationProperty: string; tradingTerminationProperty: string;
} }
@ -186,18 +288,18 @@ export interface Proposal_proposal_terms_change_NewMarket_instrument_futureProdu
*/ */
settlementDataDecimals: number; settlementDataDecimals: number;
/** /**
* Describes the oracle data that an instrument wants to get from the oracle engine for settlement data. * Describes the data source data that an instrument wants to get from the data source engine for settlement data.
*/ */
oracleSpecForSettlementData: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForSettlementData; dataSourceSpecForSettlementData: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForSettlementData;
/** /**
* Describes the oracle data that an instrument wants to get from the oracle engine for trading termination. * Describes the source data that an instrument wants to get from the data source engine for trading termination.
*/ */
oracleSpecForTradingTermination: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecForTradingTermination; dataSourceSpecForTradingTermination: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecForTradingTermination;
/** /**
* OracleSpecToFutureBinding tells on which property oracle data should be * DataSourceSpecToFutureBinding tells on which property source data should be
* used as settlement data. * used as settlement data.
*/ */
oracleSpecBinding: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_oracleSpecBinding; dataSourceSpecBinding: Proposal_proposal_terms_change_NewMarket_instrument_futureProduct_dataSourceSpecBinding;
} }
export interface Proposal_proposal_terms_change_NewMarket_instrument { export interface Proposal_proposal_terms_change_NewMarket_instrument {
@ -232,19 +334,7 @@ export interface Proposal_proposal_terms_change_NewMarket {
instrument: Proposal_proposal_terms_change_NewMarket_instrument; instrument: Proposal_proposal_terms_change_NewMarket_instrument;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForSettlementData_filters_key { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal_sourceType_conditions {
__typename: "PropertyKey";
/**
* The name of the property.
*/
name: string | null;
/**
* The type of the property.
*/
type: PropertyKeyType;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForSettlementData_filters_conditions {
__typename: "Condition"; __typename: "Condition";
/** /**
* The type of comparison to make on the value. * The type of comparison to make on the value.
@ -256,35 +346,34 @@ export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfigu
value: string | null; value: string | null;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForSettlementData_filters { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal_sourceType {
__typename: "Filter"; __typename: "DataSourceSpecConfigurationTime";
/** conditions: (Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal_sourceType_conditions | null)[];
* The oracle data property key targeted by the filter.
*/
key: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForSettlementData_filters_key;
/**
* The conditions that should be matched by the data to be
* considered of interest.
*/
conditions: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForSettlementData_filters_conditions[] | null;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForSettlementData { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal {
__typename: "OracleSpecConfiguration"; __typename: "DataSourceDefinitionInternal";
/** sourceType: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal_sourceType;
* The list of authorised public keys that signed the data for this
* oracle. All the public keys in the oracle data should be contained in these
* public keys.
*/
pubKeys: string[] | null;
/**
* Filters describes which oracle data are considered of interest or not for
* the product (or the risk model).
*/
filters: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForSettlementData_filters[] | null;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForTradingTermination_filters_key { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey {
__typename: "PubKey";
key: string | null;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress {
__typename: "ETHAddress";
address: string | null;
}
export type Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer = Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey | Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress;
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers {
__typename: "Signer";
signer: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters_key {
__typename: "PropertyKey"; __typename: "PropertyKey";
/** /**
* The name of the property. * The name of the property.
@ -296,7 +385,7 @@ export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfigu
type: PropertyKeyType; type: PropertyKeyType;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForTradingTermination_filters_conditions { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions {
__typename: "Condition"; __typename: "Condition";
/** /**
* The type of comparison to make on the value. * The type of comparison to make on the value.
@ -308,36 +397,151 @@ export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfigu
value: string | null; value: string | null;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForTradingTermination_filters { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters {
__typename: "Filter"; __typename: "Filter";
/** /**
* The oracle data property key targeted by the filter. * key is the data source data property key targeted by the filter.
*/ */
key: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForTradingTermination_filters_key; key: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters_key;
/** /**
* The conditions that should be matched by the data to be * The conditions that should be matched by the data to be
* considered of interest. * considered of interest.
*/ */
conditions: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForTradingTermination_filters_conditions[] | null; conditions: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions[] | null;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForTradingTermination { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType {
__typename: "OracleSpecConfiguration"; __typename: "DataSourceSpecConfiguration";
/** /**
* The list of authorised public keys that signed the data for this * signers is the list of authorized signatures that signed the data for this
* oracle. All the public keys in the oracle data should be contained in these * data source. All the public keys in the data should be contained in this
* public keys. * list.
*/ */
pubKeys: string[] | null; signers: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_signers[] | null;
/** /**
* Filters describes which oracle data are considered of interest or not for * filters describes which source data are considered of interest or not for
* the product (or the risk model). * the product (or the risk model).
*/ */
filters: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForTradingTermination_filters[] | null; filters: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType_filters[] | null;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecBinding { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal {
__typename: "OracleSpecToFutureBinding"; __typename: "DataSourceDefinitionExternal";
sourceType: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal_sourceType;
}
export type Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType = Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionInternal | Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType_DataSourceDefinitionExternal;
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData {
__typename: "DataSourceDefinition";
sourceType: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData_sourceType;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal_sourceType_conditions {
__typename: "Condition";
/**
* The type of comparison to make on the value.
*/
operator: ConditionOperator;
/**
* The value to compare against.
*/
value: string | null;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal_sourceType {
__typename: "DataSourceSpecConfigurationTime";
conditions: (Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal_sourceType_conditions | null)[];
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal {
__typename: "DataSourceDefinitionInternal";
sourceType: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal_sourceType;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey {
__typename: "PubKey";
key: string | null;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress {
__typename: "ETHAddress";
address: string | null;
}
export type Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer = Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey | Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress;
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers {
__typename: "Signer";
signer: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters_key {
__typename: "PropertyKey";
/**
* The name of the property.
*/
name: string | null;
/**
* The type of the property.
*/
type: PropertyKeyType;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions {
__typename: "Condition";
/**
* The type of comparison to make on the value.
*/
operator: ConditionOperator;
/**
* The value to compare against.
*/
value: string | null;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters {
__typename: "Filter";
/**
* key is the data source data property key targeted by the filter.
*/
key: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters_key;
/**
* The conditions that should be matched by the data to be
* considered of interest.
*/
conditions: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions[] | null;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType {
__typename: "DataSourceSpecConfiguration";
/**
* signers is the list of authorized signatures that signed the data for this
* data source. All the public keys in the data should be contained in this
* list.
*/
signers: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_signers[] | null;
/**
* filters describes which source data are considered of interest or not for
* the product (or the risk model).
*/
filters: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType_filters[] | null;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal {
__typename: "DataSourceDefinitionExternal";
sourceType: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal_sourceType;
}
export type Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType = Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionInternal | Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType_DataSourceDefinitionExternal;
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination {
__typename: "DataSourceDefinition";
sourceType: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination_sourceType;
}
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecBinding {
__typename: "DataSourceSpecToFutureBinding";
settlementDataProperty: string; settlementDataProperty: string;
tradingTerminationProperty: string; tradingTerminationProperty: string;
} }
@ -345,9 +549,9 @@ export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfigu
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product {
__typename: "UpdateFutureProduct"; __typename: "UpdateFutureProduct";
quoteName: string; quoteName: string;
oracleSpecForSettlementData: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForSettlementData; dataSourceSpecForSettlementData: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForSettlementData;
oracleSpecForTradingTermination: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecForTradingTermination; dataSourceSpecForTradingTermination: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecForTradingTermination;
oracleSpecBinding: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_oracleSpecBinding; dataSourceSpecBinding: Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument_product_dataSourceSpecBinding;
} }
export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument { export interface Proposal_proposal_terms_change_UpdateMarket_updateMarketConfiguration_instrument {

View File

@ -46,33 +46,87 @@ export const PROPOSAL_QUERY = gql`
} }
quoteName quoteName
settlementDataDecimals settlementDataDecimals
oracleSpecForSettlementData { dataSourceSpecForSettlementData {
pubKeys sourceType {
filters { ... on DataSourceDefinitionInternal {
key { sourceType {
name ... on DataSourceSpecConfigurationTime {
type conditions {
operator
value
}
}
}
} }
conditions { ... on DataSourceDefinitionExternal {
operator sourceType {
value ... on DataSourceSpecConfiguration {
signers {
signer {
... on PubKey {
key
}
... on ETHAddress {
address
}
}
}
filters {
key {
name
type
}
conditions {
operator
value
}
}
}
}
} }
} }
} }
oracleSpecForTradingTermination { dataSourceSpecForTradingTermination {
pubKeys sourceType {
filters { ... on DataSourceDefinitionInternal {
key { sourceType {
name ... on DataSourceSpecConfigurationTime {
type conditions {
operator
value
}
}
}
} }
conditions { ... on DataSourceDefinitionExternal {
operator sourceType {
value ... on DataSourceSpecConfiguration {
signers {
signer {
... on PubKey {
key
}
... on ETHAddress {
address
}
}
}
filters {
key {
name
type
}
conditions {
operator
value
}
}
}
}
} }
} }
} }
oracleSpecBinding { dataSourceSpecBinding {
settlementDataProperty settlementDataProperty
tradingTerminationProperty tradingTerminationProperty
} }
@ -86,33 +140,87 @@ export const PROPOSAL_QUERY = gql`
code code
product { product {
quoteName quoteName
oracleSpecForSettlementData { dataSourceSpecForSettlementData {
pubKeys sourceType {
filters { ... on DataSourceDefinitionInternal {
key { sourceType {
name ... on DataSourceSpecConfigurationTime {
type conditions {
operator
value
}
}
}
} }
conditions { ... on DataSourceDefinitionExternal {
operator sourceType {
value ... on DataSourceSpecConfiguration {
signers {
signer {
... on PubKey {
key
}
... on ETHAddress {
address
}
}
}
filters {
key {
name
type
}
conditions {
operator
value
}
}
}
}
} }
} }
} }
oracleSpecForTradingTermination { dataSourceSpecForTradingTermination {
pubKeys sourceType {
filters { ... on DataSourceDefinitionInternal {
key { sourceType {
name ... on DataSourceSpecConfigurationTime {
type conditions {
operator
value
}
}
}
} }
conditions { ... on DataSourceDefinitionExternal {
operator sourceType {
value ... on DataSourceSpecConfiguration {
signers {
signer {
... on PubKey {
key
}
... on ETHAddress {
address
}
}
}
filters {
key {
name
type
}
conditions {
operator
value
}
}
}
}
} }
} }
} }
oracleSpecBinding { dataSourceSpecBinding {
settlementDataProperty settlementDataProperty
tradingTerminationProperty tradingTerminationProperty
} }

View File

@ -149,16 +149,16 @@ export const generateMarketInfoQuery = (
name: 'tBTC TEST', name: 'tBTC TEST',
decimals: 5, decimals: 5,
}, },
oracleSpecForSettlementData: { dataSourceSpecForSettlementData: {
__typename: 'OracleSpec', __typename: 'DataSourceSpec',
id: 'f028fe5ea7de3890962a05a7163fdde562629af649ed81b8c8902fafb6eef04f', id: 'f028fe5ea7de3890962a05a7163fdde562629af649ed81b8c8902fafb6eef04f',
}, },
oracleSpecForTradingTermination: { dataSourceSpecForTradingTermination: {
__typename: 'OracleSpec', __typename: 'DataSourceSpec',
id: 'f028fe5ea7de3890962a05a7163fdde562629af649ed81b8c8902fafb6eef04f', id: 'f028fe5ea7de3890962a05a7163fdde562629af649ed81b8c8902fafb6eef04f',
}, },
oracleSpecBinding: { dataSourceSpecBinding: {
__typename: 'OracleSpecToFutureBinding', __typename: 'DataSourceSpecToFutureBinding',
settlementDataProperty: 'prices.BTC.value', settlementDataProperty: 'prices.BTC.value',
tradingTerminationProperty: 'termination.BTC.value', tradingTerminationProperty: 'termination.BTC.value',
}, },

View File

@ -38,9 +38,9 @@ export const generateMarket = (
__typename: 'InstrumentMetadata', __typename: 'InstrumentMetadata',
}, },
product: { product: {
oracleSpecForTradingTermination: { dataSourceSpecForTradingTermination: {
id: 'd253c16c6a17ab88e098479635c611ab503582a1079752d1a49ac15f656f7e7b', id: 'd253c16c6a17ab88e098479635c611ab503582a1079752d1a49ac15f656f7e7b',
__typename: 'OracleSpec', __typename: 'DataSourceSpec',
}, },
quoteName: 'BTCUSD Monthly', quoteName: 'BTCUSD Monthly',
settlementAsset: { settlementAsset: {

View File

@ -72,7 +72,7 @@ const ExpiryTooltipContent = ({
if (market.marketTimestamps.close === null) { if (market.marketTimestamps.close === null) {
const oracleId = const oracleId =
market.tradableInstrument.instrument.product market.tradableInstrument.instrument.product
.oracleSpecForTradingTermination?.id; .dataSourceSpecForTradingTermination?.id;
return ( return (
<section data-testid="expiry-tool-tip"> <section data-testid="expiry-tool-tip">

View File

@ -290,4 +290,4 @@ export function useLiquidityProviderFeeShareUpdateSubscription(baseOptions: Apol
return Apollo.useSubscription<LiquidityProviderFeeShareUpdateSubscription, LiquidityProviderFeeShareUpdateSubscriptionVariables>(LiquidityProviderFeeShareUpdateDocument, options); return Apollo.useSubscription<LiquidityProviderFeeShareUpdateSubscription, LiquidityProviderFeeShareUpdateSubscriptionVariables>(LiquidityProviderFeeShareUpdateDocument, options);
} }
export type LiquidityProviderFeeShareUpdateSubscriptionHookResult = ReturnType<typeof useLiquidityProviderFeeShareUpdateSubscription>; export type LiquidityProviderFeeShareUpdateSubscriptionHookResult = ReturnType<typeof useLiquidityProviderFeeShareUpdateSubscription>;
export type LiquidityProviderFeeShareUpdateSubscriptionResult = Apollo.SubscriptionResult<LiquidityProviderFeeShareUpdateSubscription>; export type LiquidityProviderFeeShareUpdateSubscriptionResult = Apollo.SubscriptionResult<LiquidityProviderFeeShareUpdateSubscription>;

View File

@ -108,13 +108,13 @@ query MarketInfo($marketId: ID!, $interval: Interval!, $since: String!) {
name name
decimals decimals
} }
oracleSpecForSettlementData { dataSourceSpecForSettlementData {
id id
} }
oracleSpecForTradingTermination { dataSourceSpecForTradingTermination {
id id
} }
oracleSpecBinding { dataSourceSpecBinding {
settlementDataProperty settlementDataProperty
tradingTerminationProperty tradingTerminationProperty
} }

View File

@ -10,7 +10,7 @@ export type MarketInfoQueryVariables = Types.Exact<{
}>; }>;
export type MarketInfoQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, proposal?: { __typename?: 'Proposal', id?: string | null, rationale: { __typename?: 'ProposalRationale', title: string, description: string } } | null, marketTimestamps: { __typename?: 'MarketTimestamps', open?: string | null, close?: string | null }, openingAuction: { __typename?: 'AuctionDuration', durationSecs: number, volume: number }, accounts?: Array<{ __typename?: 'AccountBalance', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', id: string } }> | null, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, priceMonitoringSettings: { __typename?: 'PriceMonitoringSettings', parameters?: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null } | null }, riskFactors?: { __typename?: 'RiskFactor', market: string, short: string, long: string } | null, data?: { __typename?: 'MarketData', markPrice: string, bestBidVolume: string, bestOfferVolume: string, bestStaticBidVolume: string, bestStaticOfferVolume: string, bestBidPrice: string, bestOfferPrice: string, trigger: Types.AuctionTrigger, openInterest: string, suppliedStake?: string | null, targetStake?: string | null, marketValueProxy: string, market: { __typename?: 'Market', id: string }, priceMonitoringBounds?: Array<{ __typename?: 'PriceMonitoringBounds', minValidPrice: string, maxValidPrice: string, referencePrice: string, trigger: { __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number } }> | null } | null, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: number, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } }, candlesConnection?: { __typename?: 'CandleDataConnection', edges?: Array<{ __typename?: 'CandleEdge', node: { __typename?: 'Candle', volume: string } } | null> | null } | null, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array<string> | null }, product: { __typename?: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number }, oracleSpecForSettlementData: { __typename?: 'OracleSpec', id: string }, oracleSpecForTradingTermination: { __typename?: 'OracleSpec', id: string }, oracleSpecBinding: { __typename?: 'OracleSpecToFutureBinding', settlementDataProperty: string, tradingTerminationProperty: string } } }, riskModel: { __typename?: 'LogNormalRiskModel', tau: number, riskAversionParameter: number, params: { __typename?: 'LogNormalModelParams', r: number, sigma: number, mu: number } } | { __typename?: 'SimpleRiskModel', params: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } } }, depth: { __typename?: 'MarketDepth', lastTrade?: { __typename?: 'Trade', price: string } | null } } | null }; export type MarketInfoQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, proposal?: { __typename?: 'Proposal', id?: string | null, rationale: { __typename?: 'ProposalRationale', title: string, description: string } } | null, marketTimestamps: { __typename?: 'MarketTimestamps', open?: string | null, close?: string | null }, openingAuction: { __typename?: 'AuctionDuration', durationSecs: number, volume: number }, accounts?: Array<{ __typename?: 'AccountBalance', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', id: string } }> | null, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, priceMonitoringSettings: { __typename?: 'PriceMonitoringSettings', parameters?: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null } | null }, riskFactors?: { __typename?: 'RiskFactor', market: string, short: string, long: string } | null, data?: { __typename?: 'MarketData', markPrice: string, bestBidVolume: string, bestOfferVolume: string, bestStaticBidVolume: string, bestStaticOfferVolume: string, bestBidPrice: string, bestOfferPrice: string, trigger: Types.AuctionTrigger, openInterest: string, suppliedStake?: string | null, targetStake?: string | null, marketValueProxy: string, market: { __typename?: 'Market', id: string }, priceMonitoringBounds?: Array<{ __typename?: 'PriceMonitoringBounds', minValidPrice: string, maxValidPrice: string, referencePrice: string, trigger: { __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number } }> | null } | null, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: number, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } }, candlesConnection?: { __typename?: 'CandleDataConnection', edges?: Array<{ __typename?: 'CandleEdge', node: { __typename?: 'Candle', volume: string } } | null> | null } | null, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array<string> | null }, product: { __typename?: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number }, dataSourceSpecForSettlementData: { __typename?: 'DataSourceSpec', id: string }, dataSourceSpecForTradingTermination: { __typename?: 'DataSourceSpec', id: string }, dataSourceSpecBinding: { __typename?: 'DataSourceSpecToFutureBinding', settlementDataProperty: string, tradingTerminationProperty: string } } }, riskModel: { __typename?: 'LogNormalRiskModel', tau: number, riskAversionParameter: number, params: { __typename?: 'LogNormalModelParams', r: number, sigma: number, mu: number } } | { __typename?: 'SimpleRiskModel', params: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } } }, depth: { __typename?: 'MarketDepth', lastTrade?: { __typename?: 'Trade', price: string } | null } } | null };
export const MarketInfoDocument = gql` export const MarketInfoDocument = gql`
@ -124,13 +124,13 @@ export const MarketInfoDocument = gql`
name name
decimals decimals
} }
oracleSpecForSettlementData { dataSourceSpecForSettlementData {
id id
} }
oracleSpecForTradingTermination { dataSourceSpecForTradingTermination {
id id
} }
oracleSpecBinding { dataSourceSpecBinding {
settlementDataProperty settlementDataProperty
tradingTerminationProperty tradingTerminationProperty
} }

View File

@ -332,15 +332,17 @@ export const Info = ({ market, onSelect }: InfoProps) => {
title: t('Oracle'), title: t('Oracle'),
content: ( content: (
<MarketInfoTable <MarketInfoTable
data={market.tradableInstrument.instrument.product.oracleSpecBinding} data={
market.tradableInstrument.instrument.product.dataSourceSpecBinding
}
> >
<ExternalLink <ExternalLink
href={`${VEGA_EXPLORER_URL}/oracles#${market.tradableInstrument.instrument.product.oracleSpecForSettlementData.id}`} href={`${VEGA_EXPLORER_URL}/oracles#${market.tradableInstrument.instrument.product.dataSourceSpecForSettlementData.id}`}
> >
{t('View settlement data oracle specification')} {t('View settlement data oracle specification')}
</ExternalLink> </ExternalLink>
<ExternalLink <ExternalLink
href={`${VEGA_EXPLORER_URL}/oracles#${market.tradableInstrument.instrument.product.oracleSpecForTradingTermination.id}`} href={`${VEGA_EXPLORER_URL}/oracles#${market.tradableInstrument.instrument.product.dataSourceSpecForTradingTermination.id}`}
> >
{t('View termination oracle specification')} {t('View termination oracle specification')}
</ExternalLink> </ExternalLink>

View File

@ -3,14 +3,14 @@ import { Schema as Types } from '@vegaprotocol/types';
import { gql } from '@apollo/client'; import { gql } from '@apollo/client';
import * as Apollo from '@apollo/client'; import * as Apollo from '@apollo/client';
const defaultOptions = {} as const; const defaultOptions = {} as const;
export type SingleMarketFieldsFragment = { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array<string> | null }, product: { __typename?: 'Future', quoteName: string, oracleSpecForTradingTermination: { __typename?: 'OracleSpec', id: string }, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open?: string | null, close?: string | null } }; export type SingleMarketFieldsFragment = { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array<string> | null }, product: { __typename?: 'Future', quoteName: string, dataSourceSpecForTradingTermination: { __typename?: 'DataSourceSpec', id: string }, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open?: string | null, close?: string | null } };
export type MarketQueryVariables = Types.Exact<{ export type MarketQueryVariables = Types.Exact<{
marketId: Types.Scalars['ID']; marketId: Types.Scalars['ID'];
}>; }>;
export type MarketQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array<string> | null }, product: { __typename?: 'Future', quoteName: string, oracleSpecForTradingTermination: { __typename?: 'OracleSpec', id: string }, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open?: string | null, close?: string | null } } | null }; export type MarketQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array<string> | null }, product: { __typename?: 'Future', quoteName: string, dataSourceSpecForTradingTermination: { __typename?: 'DataSourceSpec', id: string }, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open?: string | null, close?: string | null } } | null };
export const SingleMarketFieldsFragmentDoc = gql` export const SingleMarketFieldsFragmentDoc = gql`
fragment SingleMarketFields on Market { fragment SingleMarketFields on Market {
@ -36,7 +36,7 @@ export const SingleMarketFieldsFragmentDoc = gql`
} }
product { product {
... on Future { ... on Future {
oracleSpecForTradingTermination { dataSourceSpecForTradingTermination {
id id
} }
settlementAsset { settlementAsset {

View File

@ -21,7 +21,7 @@ fragment SingleMarketFields on Market {
} }
product { product {
... on Future { ... on Future {
oracleSpecForTradingTermination { dataSourceSpecForTradingTermination {
id id
} }
settlementAsset { settlementAsset {

View File

@ -55,6 +55,14 @@ export enum ConditionOperator {
OPERATOR_LESS_THAN_OR_EQUAL = "OPERATOR_LESS_THAN_OR_EQUAL", OPERATOR_LESS_THAN_OR_EQUAL = "OPERATOR_LESS_THAN_OR_EQUAL",
} }
/**
* Status describe the status of the data spec
*/
export enum DataSourceSpecStatus {
STATUS_ACTIVE = "STATUS_ACTIVE",
STATUS_DEACTIVATED = "STATUS_DEACTIVATED",
}
/** /**
* The current state of a market * The current state of a market
*/ */
@ -90,15 +98,7 @@ export enum NodeStatus {
} }
/** /**
* Status describe the status of the oracle spec * Type describes the type of properties that are supported by the data source
*/
export enum OracleSpecStatus {
STATUS_ACTIVE = "STATUS_ACTIVE",
STATUS_DEACTIVATED = "STATUS_DEACTIVATED",
}
/**
* Type describes the type of properties that are supported by the oracle
* engine. * engine.
*/ */
export enum PropertyKeyType { export enum PropertyKeyType {

View File

@ -430,7 +430,7 @@ export type CandleEdge = {
node: Candle; node: Candle;
}; };
/** Condition describes the condition that must be validated by the oracle engine */ /** Condition describes the condition that must be validated by the data source engine */
export type Condition = { export type Condition = {
__typename?: 'Condition'; __typename?: 'Condition';
/** The type of comparison to make on the value. */ /** The type of comparison to make on the value. */
@ -443,14 +443,14 @@ export type Condition = {
export enum ConditionOperator { export enum ConditionOperator {
/** Verify if the property values are strictly equal or not. */ /** Verify if the property values are strictly equal or not. */
OPERATOR_EQUALS = 'OPERATOR_EQUALS', OPERATOR_EQUALS = 'OPERATOR_EQUALS',
/** Verify if the oracle data value is greater than the Condition value. */ /** Verify if the data source data value is greater than the Condition value. */
OPERATOR_GREATER_THAN = 'OPERATOR_GREATER_THAN', OPERATOR_GREATER_THAN = 'OPERATOR_GREATER_THAN',
/** /**
* Verify if the oracle data value is greater than or equal to the Condition * Verify if the data source data value is greater than or equal to the Condition
* value. * value.
*/ */
OPERATOR_GREATER_THAN_OR_EQUAL = 'OPERATOR_GREATER_THAN_OR_EQUAL', OPERATOR_GREATER_THAN_OR_EQUAL = 'OPERATOR_GREATER_THAN_OR_EQUAL',
/** Verify if the oracle data value is less than the Condition value. */ /** Verify if the data source data value is less than the Condition value. */
OPERATOR_LESS_THAN = 'OPERATOR_LESS_THAN', OPERATOR_LESS_THAN = 'OPERATOR_LESS_THAN',
/** /**
* Verify if the oracle data value is less or equal to than the Condition * Verify if the oracle data value is less or equal to than the Condition
@ -466,6 +466,119 @@ export type ContinuousTrading = {
tickSize: Scalars['String']; tickSize: Scalars['String'];
}; };
/** A data source contains the data sent by a data source */
export type Data = {
__typename?: 'Data';
/**
* 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: Scalars['String'];
/** properties contains all the properties sent by a data source */
data?: Maybe<Array<Property>>;
/**
* 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?: Maybe<Array<Scalars['ID']>>;
/** signers is the list of public keys/ETH addresses that signed the data */
signers?: Maybe<Array<Signer>>;
};
/**
* 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.
*/
export type DataSourceDefinition = {
__typename?: 'DataSourceDefinition';
sourceType: DataSourceKind;
};
/**
* DataSourceDefinitionExternal is the top level object used for all external data sources.
* It contains one of any of the defined `SourceType` variants.
*/
export type DataSourceDefinitionExternal = {
__typename?: 'DataSourceDefinitionExternal';
sourceType: ExternalDataSourceKind;
};
/**
* DataSourceDefinitionInternal is the top level object used for all internal data sources.
* It contains one of any of the defined `SourceType` variants.
*/
export type DataSourceDefinitionInternal = {
__typename?: 'DataSourceDefinitionInternal';
sourceType: InternalDataSourceKind;
};
export type DataSourceKind = DataSourceDefinitionExternal | DataSourceDefinitionInternal;
/**
* An data source specification describes the data source data that a product (or a risk model)
* wants to get from the oracle engine.
*/
export type DataSourceSpec = {
__typename?: 'DataSourceSpec';
/** RFC3339Nano creation date time */
createdAt: Scalars['String'];
data: DataSourceDefinition;
/** ID is a hash generated from the DataSourceSpec data. */
id: Scalars['ID'];
/** Status describes the status of the data source spec */
status: DataSourceSpecStatus;
/** RFC3339Nano last updated timestamp */
updatedAt?: Maybe<Scalars['String']>;
};
/**
* A data spec describes the source data that an instrument wants to get from the
* sourcing engine.
*/
export type DataSourceSpecConfiguration = {
__typename?: 'DataSourceSpecConfiguration';
/**
* filters describes which source data are considered of interest or not for
* the product (or the risk model).
*/
filters?: Maybe<Array<Filter>>;
/**
* signers is the list of authorized signatures that signed the data for this
* data source. All the public keys in the data should be contained in this
* list.
*/
signers?: Maybe<Array<Signer>>;
};
/** DataSourceSpecConfigurationTime is the internal data source used for emitting timestamps. */
export type DataSourceSpecConfigurationTime = {
__typename?: 'DataSourceSpecConfigurationTime';
conditions: Array<Maybe<Condition>>;
};
/** Status describe the status of the data spec */
export enum DataSourceSpecStatus {
/** describes an active data spec. */
STATUS_ACTIVE = 'STATUS_ACTIVE',
/**
* describes a data spec that is not listening to data
* anymore.
*/
STATUS_DEACTIVATED = 'STATUS_DEACTIVATED'
}
/**
* DataSourceSpecToFutureBinding tells on which property data source data should be
* used as settlement data and trading termination.
*/
export type DataSourceSpecToFutureBinding = {
__typename?: 'DataSourceSpecToFutureBinding';
settlementDataProperty: Scalars['String'];
tradingTerminationProperty: Scalars['String'];
};
/** /**
* Range of dates to retrieve information for. * Range of dates to retrieve information for.
* If start and end are provided, data will be returned within the specified range (exclusive). * If start and end are provided, data will be returned within the specified range (exclusive).
@ -688,6 +801,11 @@ export type ERC20SetAssetLimitsBundle = {
vegaAssetId: Scalars['String']; vegaAssetId: Scalars['String'];
}; };
export type ETHAddress = {
__typename?: 'ETHAddress';
address?: Maybe<Scalars['String']>;
};
/** Epoch describes a specific period of time in the Vega network */ /** Epoch describes a specific period of time in the Vega network */
export type Epoch = { export type Epoch = {
__typename?: 'Epoch'; __typename?: 'Epoch';
@ -814,7 +932,7 @@ export type Erc20WithdrawalDetails = {
receiverAddress: Scalars['String']; receiverAddress: Scalars['String'];
}; };
/** An Ethereum oracle */ /** An Ethereum data source */
export type EthereumEvent = { export type EthereumEvent = {
__typename?: 'EthereumEvent'; __typename?: 'EthereumEvent';
/** The ID of the ethereum contract to use (string) */ /** The ID of the ethereum contract to use (string) */
@ -855,6 +973,22 @@ export type EthereumKeyRotationsConnection = {
/** Union type for wrapped events in stream PROPOSAL is mapped to governance data, something to keep in mind */ /** Union type for wrapped events in stream PROPOSAL is mapped to governance data, something to keep in mind */
export type Event = AccountEvent | Asset | AuctionEvent | Deposit | LiquidityProvision | LossSocialization | MarginLevels | Market | MarketData | MarketEvent | MarketTick | NodeSignature | OracleSpec | Order | Party | PositionResolution | Proposal | RiskFactor | SettleDistressed | SettlePosition | TimeUpdate | Trade | TransactionResult | TransferResponses | Vote | Withdrawal; export type Event = AccountEvent | Asset | AuctionEvent | Deposit | LiquidityProvision | LossSocialization | MarginLevels | Market | MarketData | MarketEvent | MarketTick | NodeSignature | OracleSpec | Order | Party | PositionResolution | Proposal | RiskFactor | SettleDistressed | SettlePosition | TimeUpdate | Trade | TransactionResult | TransferResponses | Vote | Withdrawal;
export type ExternalData = {
__typename?: 'ExternalData';
data: Data;
};
export type ExternalDataSourceKind = DataSourceSpecConfiguration;
/**
* externalDataSourceSpec is the type that wraps the DataSourceSpec type in order to be further used/extended
* by the OracleSpec
*/
export type ExternalDataSourceSpec = {
__typename?: 'ExternalDataSourceSpec';
spec: DataSourceSpec;
};
/** The factors applied to calculate the fees */ /** The factors applied to calculate the fees */
export type FeeFactors = { export type FeeFactors = {
__typename?: 'FeeFactors'; __typename?: 'FeeFactors';
@ -884,38 +1018,38 @@ export type Filter = {
* considered of interest. * considered of interest.
*/ */
conditions?: Maybe<Array<Condition>>; conditions?: Maybe<Array<Condition>>;
/** The oracle data property key targeted by the filter. */ /** key is the data source data property key targeted by the filter. */
key: PropertyKey; key: PropertyKey;
}; };
/** A Future product */ /** A Future product */
export type Future = { export type Future = {
__typename?: 'Future'; __typename?: 'Future';
/** The binding between the oracle spec and the settlement data */ /** The binding between the data source specification and the settlement data */
oracleSpecBinding: OracleSpecToFutureBinding; dataSourceSpecBinding: DataSourceSpecToFutureBinding;
/** The oracle spec describing the oracle data of interest for settlement. */ /** The data source specification that describes the data of interest for settlement. */
oracleSpecForSettlementData: OracleSpec; dataSourceSpecForSettlementData: DataSourceSpec;
/** The oracle spec describing the oracle data of interest for trading termination. */ /** The data source specification describing the data source data of interest for trading termination. */
oracleSpecForTradingTermination: OracleSpec; dataSourceSpecForTradingTermination: DataSourceSpec;
/** String representing the quote (e.g. BTCUSD -> USD is quote) */ /** String representing the quote (e.g. BTCUSD -> USD is quote) */
quoteName: Scalars['String']; quoteName: Scalars['String'];
/** The name of the asset (string) */ /** The name of the asset (string) */
settlementAsset: Asset; settlementAsset: Asset;
/** The number of decimal places implied by the settlement data (such as price) emitted by the settlement oracle */ /** The number of decimal places implied by the settlement data (such as price) emitted by the settlement data source */
settlementDataDecimals: Scalars['Int']; settlementDataDecimals: Scalars['Int'];
}; };
export type FutureProduct = { export type FutureProduct = {
__typename?: 'FutureProduct'; __typename?: 'FutureProduct';
/** /**
* OracleSpecToFutureBinding tells on which property oracle data should be * DataSourceSpecToFutureBinding tells on which property source data should be
* used as settlement data. * used as settlement data.
*/ */
oracleSpecBinding: OracleSpecToFutureBinding; dataSourceSpecBinding: DataSourceSpecToFutureBinding;
/** Describes the oracle data that an instrument wants to get from the oracle engine for settlement data. */ /** Describes the data source data that an instrument wants to get from the data source engine for settlement data. */
oracleSpecForSettlementData: OracleSpecConfiguration; dataSourceSpecForSettlementData: DataSourceDefinition;
/** Describes the oracle data that an instrument wants to get from the oracle engine for trading termination. */ /** Describes the source data that an instrument wants to get from the data source engine for trading termination. */
oracleSpecForTradingTermination: OracleSpecConfiguration; dataSourceSpecForTradingTermination: DataSourceDefinition;
/** String representing the quote (e.g. BTCUSD -> USD is quote) */ /** String representing the quote (e.g. BTCUSD -> USD is quote) */
quoteName: Scalars['String']; quoteName: Scalars['String'];
/** Product asset */ /** Product asset */
@ -974,6 +1108,8 @@ export type InstrumentMetadata = {
tags?: Maybe<Array<Scalars['String']>>; tags?: Maybe<Array<Scalars['String']>>;
}; };
export type InternalDataSourceKind = DataSourceSpecConfigurationTime;
/** The interval for trade candles when subscribing via Vega GraphQL, default is I15M */ /** The interval for trade candles when subscribing via Vega GraphQL, default is I15M */
export enum Interval { export enum Interval {
/** 1 day interval */ /** 1 day interval */
@ -2028,139 +2164,48 @@ export type Oracle = EthereumEvent;
/** An oracle data contains the data sent by an oracle */ /** An oracle data contains the data sent by an oracle */
export type OracleData = { export type OracleData = {
__typename?: 'OracleData'; __typename?: 'OracleData';
/** externalData: ExternalData;
* RFC3339Nano formatted date and time for when the data was broadcast to the markets
* with a matching oracle spec.
* It has no value when the oracle date does not match any oracle spec.
*/
broadcastAt: Scalars['String'];
/** All the properties sent by an oracle */
data?: Maybe<Array<Property>>;
/**
* Lists of all the oracle specs that matched this oracle data.
* When the array is empty, it means no oracle spec matched this oracle data.
*/
matchedSpecIds?: Maybe<Array<Scalars['ID']>>;
/** The list of public keys that signed the data */
pubKeys?: Maybe<Array<Scalars['String']>>;
}; };
/** Connection type for retrieving cursor-based paginated oracle data information */
export type OracleDataConnection = { export type OracleDataConnection = {
__typename?: 'OracleDataConnection'; __typename?: 'OracleDataConnection';
/** The oracle data */ /** The oracle data spec */
edges?: Maybe<Array<Maybe<OracleDataEdge>>>; edges?: Maybe<Array<Maybe<OracleDataEdge>>>;
/** The pagination information */ /** The pagination information */
pageInfo: PageInfo; pageInfo: PageInfo;
}; };
/** Edge type containing the oracle data and cursor information returned by a OracleDataConnection */
export type OracleDataEdge = { export type OracleDataEdge = {
__typename?: 'OracleDataEdge'; __typename?: 'OracleDataEdge';
/** The cursor for the data item */ /** The cursor for the data item */
cursor: Scalars['String']; cursor: Scalars['String'];
/** The oracle data */ /** The oracle data source */
node: OracleData; node: OracleData;
}; };
/**
* An oracle spec describe the oracle data that a product (or a risk model)
* wants to get from the oracle engine.
*/
export type OracleSpec = { export type OracleSpec = {
__typename?: 'OracleSpec'; __typename?: 'OracleSpec';
/** RFC3339Nano creation date time */
createdAt: Scalars['String'];
/**
* Data list all the oracle data broadcast to this spec
* @deprecated Use dataConnection instead
*/
data: Array<OracleData>;
/** Data list all the oracle data broadcast to this spec */ /** Data list all the oracle data broadcast to this spec */
dataConnection: OracleDataConnection; dataConnection: OracleDataConnection;
/** dataSourceSpec: ExternalDataSourceSpec;
* Filters describes which oracle data are considered of interest or not for
* the product (or the risk model).
*/
filters?: Maybe<Array<Filter>>;
/** ID is a hash generated from the OracleSpec data. */
id: Scalars['ID'];
/**
* The list of authorized public keys that signed the data for this
* oracle. All the public keys in the oracle data should be contained in these
* public keys.
*/
pubKeys?: Maybe<Array<Scalars['String']>>;
/** Status describes the status of the oracle spec */
status: OracleSpecStatus;
/** RFC3339Nano last updated timestamp */
updatedAt?: Maybe<Scalars['String']>;
}; };
/**
* An oracle spec describe the oracle data that a product (or a risk model)
* wants to get from the oracle engine.
*/
export type OracleSpecdataConnectionArgs = { export type OracleSpecdataConnectionArgs = {
pagination?: InputMaybe<Pagination>; pagination?: InputMaybe<Pagination>;
}; };
/**
* An oracle spec describe the oracle data that an instrument wants to get from the
* oracle engine.
*/
export type OracleSpecConfiguration = {
__typename?: 'OracleSpecConfiguration';
/**
* Filters describes which oracle data are considered of interest or not for
* the product (or the risk model).
*/
filters?: Maybe<Array<Filter>>;
/**
* The list of authorised public keys that signed the data for this
* oracle. All the public keys in the oracle data should be contained in these
* public keys.
*/
pubKeys?: Maybe<Array<Scalars['String']>>;
};
/** Edge type containing the oracle spec and cursor information returned by a OracleSpecsConnection */
export type OracleSpecEdge = { export type OracleSpecEdge = {
__typename?: 'OracleSpecEdge'; __typename?: 'OracleSpecEdge';
/** The cursor for the spec item */ /** The cursor for the external data */
cursor: Scalars['String']; cursor: Scalars['String'];
/** The oracle spec */ /** The external data spec */
node: OracleSpec; node: OracleSpec;
}; };
/** Status describe the status of the oracle spec */
export enum OracleSpecStatus {
/** Describes an active oracle spec. */
STATUS_ACTIVE = 'STATUS_ACTIVE',
/**
* Describes an oracle spec that is not listening to data
* anymore.
*/
STATUS_DEACTIVATED = 'STATUS_DEACTIVATED'
}
/**
* OracleSpecToFutureBinding tells on which property oracle data should be
* used as settlement data and trading termination.
*/
export type OracleSpecToFutureBinding = {
__typename?: 'OracleSpecToFutureBinding';
settlementDataProperty: Scalars['String'];
tradingTerminationProperty: Scalars['String'];
};
/** Connection type for retrieving cursor-based paginated oracle specs information */
export type OracleSpecsConnection = { export type OracleSpecsConnection = {
__typename?: 'OracleSpecsConnection'; __typename?: 'OracleSpecsConnection';
/** The oracle specs */
edges?: Maybe<Array<Maybe<OracleSpecEdge>>>; edges?: Maybe<Array<Maybe<OracleSpecEdge>>>;
/** The pagination information */
pageInfo: PageInfo; pageInfo: PageInfo;
}; };
@ -2935,7 +2980,7 @@ export type Property = {
value: Scalars['String']; value: Scalars['String'];
}; };
/** PropertyKey describes the property key contained in an oracle data. */ /** PropertyKey describes the property key contained in a source data. */
export type PropertyKey = { export type PropertyKey = {
__typename?: 'PropertyKey'; __typename?: 'PropertyKey';
/** The name of the property. */ /** The name of the property. */
@ -2945,7 +2990,7 @@ export type PropertyKey = {
}; };
/** /**
* Type describes the type of properties that are supported by the oracle * Type describes the type of properties that are supported by the data source
* engine. * engine.
*/ */
export enum PropertyKeyType { export enum PropertyKeyType {
@ -3221,12 +3266,60 @@ export type ProposalsConnection = {
pageInfo: PageInfo; pageInfo: PageInfo;
}; };
/** A proposal to upgrade the vega protocol (i.e. which version of the vega software nodes will run) */
export type ProtocolUpgradeProposal = {
__typename?: 'ProtocolUpgradeProposal';
/** Tendermint validators that have agreed to the upgrade */
approvers: Array<Scalars['String']>;
/** the status of the proposal */
status: ProtocolUpgradeProposalStatus;
/** At which block the upgrade is proposed */
upgradeBlockHeight: Scalars['String'];
/** To which vega release tag the upgrade is proposed */
vegaReleaseTag: Scalars['String'];
};
/** Connection type for retrieving cursor-based paginated protocol upgrade proposals */
export type ProtocolUpgradeProposalConnection = {
__typename?: 'ProtocolUpgradeProposalConnection';
/** The positions in this connection */
edges?: Maybe<Array<ProtocolUpgradeProposalEdge>>;
/** The pagination information */
pageInfo?: Maybe<PageInfo>;
};
/** Edge type containing the protocol upgrade protocol cursor information */
export type ProtocolUpgradeProposalEdge = {
__typename?: 'ProtocolUpgradeProposalEdge';
/** Cursor identifying the protocol upgrade proposal */
cursor: Scalars['String'];
/** The protocol upgrade proposal */
node: ProtocolUpgradeProposal;
};
/** The set of valid statuses for a protocol upgrade proposal */
export enum ProtocolUpgradeProposalStatus {
/** Proposal to upgrade protocol version accepted */
PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED = 'PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED',
/** Proposal to upgrade protocol version is awaiting sufficient validator approval */
PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING = 'PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING',
/** Proposal to upgrade protocol version has been rejected */
PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED = 'PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED',
/** Invalid proposal state */
PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED = 'PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED'
}
/** Indicator showing whether the data-node is ready for the protocol upgrade to begin. */ /** Indicator showing whether the data-node is ready for the protocol upgrade to begin. */
export type ProtocolUpgradeStatus = { export type ProtocolUpgradeStatus = {
__typename?: 'ProtocolUpgradeStatus'; __typename?: 'ProtocolUpgradeStatus';
ready: Scalars['Boolean']; ready: Scalars['Boolean'];
}; };
export type PubKey = {
__typename?: 'PubKey';
key?: Maybe<Scalars['String']>;
};
/** Queries allow a caller to read data and filter data via GraphQL. */ /** Queries allow a caller to read data and filter data via GraphQL. */
export type Query = { export type Query = {
__typename?: 'Query'; __typename?: 'Query';
@ -3391,6 +3484,8 @@ export type Query = {
proposals?: Maybe<Array<Proposal>>; proposals?: Maybe<Array<Proposal>>;
/** All governance proposals in the Vega network */ /** All governance proposals in the Vega network */
proposalsConnection?: Maybe<ProposalsConnection>; proposalsConnection?: Maybe<ProposalsConnection>;
/** List protocol upgrade proposals, optionally filtering on status or approver */
protocolUpgradeProposals?: Maybe<ProtocolUpgradeProposalConnection>;
/** Flag indicating whether the data-node is ready to begin the protocol upgrade */ /** Flag indicating whether the data-node is ready to begin the protocol upgrade */
protocolUpgradeStatus?: Maybe<ProtocolUpgradeStatus>; protocolUpgradeStatus?: Maybe<ProtocolUpgradeStatus>;
/** Get statistics about the Vega node */ /** Get statistics about the Vega node */
@ -3744,6 +3839,14 @@ export type QueryproposalsConnectionArgs = {
}; };
/** Queries allow a caller to read data and filter data via GraphQL. */
export type QueryprotocolUpgradeProposalsArgs = {
approvedBy?: InputMaybe<Scalars['String']>;
inState?: InputMaybe<ProtocolUpgradeProposalStatus>;
pagination?: InputMaybe<Pagination>;
};
/** Queries allow a caller to read data and filter data via GraphQL. */ /** Queries allow a caller to read data and filter data via GraphQL. */
export type QuerytransfersArgs = { export type QuerytransfersArgs = {
isFrom?: InputMaybe<Scalars['Boolean']>; isFrom?: InputMaybe<Scalars['Boolean']>;
@ -3984,6 +4087,14 @@ export enum Side {
SIDE_SELL = 'SIDE_SELL' SIDE_SELL = 'SIDE_SELL'
} }
/** Signer is the authorized signature used for the data. */
export type Signer = {
__typename?: 'Signer';
signer: SignerKind;
};
export type SignerKind = ETHAddress | PubKey;
/** A type of simple/dummy risk model where you can specify the risk factor long and short in params */ /** A type of simple/dummy risk model where you can specify the risk factor long and short in params */
export type SimpleRiskModel = { export type SimpleRiskModel = {
__typename?: 'SimpleRiskModel'; __typename?: 'SimpleRiskModel';
@ -4590,9 +4701,9 @@ export type UpdateERC20 = {
export type UpdateFutureProduct = { export type UpdateFutureProduct = {
__typename?: 'UpdateFutureProduct'; __typename?: 'UpdateFutureProduct';
oracleSpecBinding: OracleSpecToFutureBinding; dataSourceSpecBinding: DataSourceSpecToFutureBinding;
oracleSpecForSettlementData: OracleSpecConfiguration; dataSourceSpecForSettlementData: DataSourceDefinition;
oracleSpecForTradingTermination: OracleSpecConfiguration; dataSourceSpecForTradingTermination: DataSourceDefinition;
quoteName: Scalars['String']; quoteName: Scalars['String'];
}; };

View File

@ -92,7 +92,7 @@ export enum NodeStatusMapping {
/** /**
* Status describe the status of the oracle spec * Status describe the status of the oracle spec
*/ */
export enum OracleSpecStatusMapping { export enum DataSourceSpecStatusMapping {
STATUS_ACTIVE = 'Active', STATUS_ACTIVE = 'Active',
STATUS_DEACTIVATED = 'Deactivated', STATUS_DEACTIVATED = 'Deactivated',
} }

View File

@ -83,9 +83,9 @@ interface ProposalNewMarketTerms {
settlementAsset: string; settlementAsset: string;
quoteName: string; quoteName: string;
settlementPriceDecimals: number; settlementPriceDecimals: number;
oracleSpecForSettlementPrice: OracleSpecFor; dataSourceSpecForSettlementData: DataSourceSpec;
oracleSpecForTradingTermination: OracleSpecFor; dataSourceSpecForTradingTermination: DataSourceSpec;
oracleSpecBinding: OracleSpecBinding; dataSourceSpecBinding: DataSourceSpecBinding;
}; };
}; };
metadata?: string[]; metadata?: string[];
@ -120,9 +120,9 @@ interface ProposalUpdateMarketTerms {
future: { future: {
quoteName: string; quoteName: string;
settlementPriceDecimals: number; settlementPriceDecimals: number;
oracleSpecForSettlementPrice: OracleSpecFor; dataSourceSpecForSettlementPrice: DataSourceSpec;
oracleSpecForTradingTermination: OracleSpecFor; dataSourceSpecForTradingTermination: DataSourceSpec;
oracleSpecBinding: OracleSpecBinding; dataSourceSpecBinding: DataSourceSpecBinding;
}; };
}; };
priceMonitoringParameters?: PriceMonitoringParameters; priceMonitoringParameters?: PriceMonitoringParameters;
@ -183,16 +183,26 @@ interface ProposalUpdateAssetTerms {
enactmentTimestamp: number; enactmentTimestamp: number;
} }
interface OracleSpecBinding { interface DataSourceSpecBinding {
settlementPriceProperty: string; settlementPriceProperty: string;
tradingTerminationProperty: string; tradingTerminationProperty: string;
} }
interface OracleSpecFor { interface DataSourceSpec {
pubKeys: string[]; config: {
filters: Filter[]; signers: Signer[];
filters: Filter[];
};
} }
type Signer =
| {
address: string;
}
| {
key: string;
};
interface Filter { interface Filter {
key: { key: {
name: string; name: string;