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.
DataSourceDefinitionExternal is the top level object used for all external data sources. It contains one of any of the defined `SourceType` variants.
DataSourceDefinitionInternal is the top level object used for all internal data sources. It contains one of any of the defined `SourceType` variants.
Data source spec describes the data source base that a product or a risk model wants to get from the data source engine. This message contains additional information used by the API.
|Hash generated from the DataSpec data.|
|Creation date and time|
|Last Updated timestamp|
|Status describes the status of the data source spec|
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
|Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.|
|Filters describes which source data are considered of interest or not for the product (or the risk model).|
DataSourceSpecConfigurationTime is the internal data source used for emitting timestamps.
|Conditions that the timestamps should meet in order to be considered.|
Specifies a data source that derives its content from calling a read method on an Ethereum contract.
|Ethereum address of the contract to call.|
|The ABI of that contract.|
|Name of the method on the contract to call.|
|List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.|
|Conditions for determining when to call the contract method.|
Determines when the contract method should be called.
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
|Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.|
|Repeat the call every n seconds after the inital call. If no time for initial call was specified, begin repeating immediately.|
|If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.|
Status describe the status of the data source spec
|STATUS_ACTIVE describes an active data source spec.|
|STATUS_DEACTIVATED describes an data source spec that is not listening to data anymore.|