code.vegaprotocol.io/vega@v0.79.0/protos/sources/vega/data/v1/data.proto (about) 1 syntax = "proto3"; 2 3 package vega.data.v1; 4 5 option go_package = "code.vegaprotocol.io/vega/protos/vega/data/v1"; 6 7 message ETHAddress { 8 string address = 1; 9 } 10 11 // PubKey is the public key that signed this data. 12 // Different public keys coming from different sources will be further separated. 13 message PubKey { 14 string key = 1; 15 } 16 17 message Signer { 18 oneof signer { 19 // List of authorized public keys that signed the data for this 20 // source. All the public keys in the data should be contained in these 21 // public keys. 22 PubKey pub_key = 1; 23 // In case of an open oracle - Ethereum address will be submitted. 24 ETHAddress eth_address = 2; 25 } 26 } 27 28 // Property describes one property of data spec with a key with its value. 29 message Property { 30 // Name of the property. 31 string name = 1; 32 // Value of the property. 33 string value = 2; 34 } 35 36 // Data describes valid source data that has been received by the node. 37 // It represents both matched and unmatched data. 38 message Data { 39 repeated Signer signers = 1; 40 // Data holds all the properties of the data 41 repeated Property data = 2; 42 // `matched_specs_ids` lists all the specs that matched this data. 43 // When the array is empty, it means no spec matched this data. 44 repeated string matched_spec_ids = 3; 45 // Timestamp in Unix nanoseconds for when the data was broadcast to the markets 46 // with a matching spec. It has no value when the data did not match any spec. 47 int64 broadcast_at = 4; 48 // Holds all metadata properties 49 repeated Property meta_data = 5; 50 // Error message if the data could not be sourced. 51 optional string error = 6; 52 } 53 54 message ExternalData { 55 Data data = 1; 56 }