mirror of
				https://github.com/Instadapp/Swap-Aggregator-Subgraph.git
				synced 2024-07-29 21:57:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
import "google/protobuf/descriptor.proto";
 | 
						|
 | 
						|
extend google.protobuf.FileOptions {
 | 
						|
  optional string my_file_option = 50000;
 | 
						|
}
 | 
						|
extend google.protobuf.MessageOptions {
 | 
						|
  optional int32 my_message_option = 50001;
 | 
						|
}
 | 
						|
extend google.protobuf.FieldOptions {
 | 
						|
  optional float my_field_option = 50002;
 | 
						|
}
 | 
						|
extend google.protobuf.EnumOptions {
 | 
						|
  optional bool my_enum_option = 50003;
 | 
						|
}
 | 
						|
extend google.protobuf.EnumValueOptions {
 | 
						|
  optional uint32 my_enum_value_option = 50004;
 | 
						|
}
 | 
						|
extend google.protobuf.ServiceOptions {
 | 
						|
  optional MyEnum my_service_option = 50005;
 | 
						|
}
 | 
						|
extend google.protobuf.MethodOptions {
 | 
						|
  optional MyMessage my_method_option = 50006;
 | 
						|
}
 | 
						|
 | 
						|
option (my_file_option) = "Hello world!";
 | 
						|
 | 
						|
message MyMessage {
 | 
						|
  option (my_message_option) = 1234;
 | 
						|
 | 
						|
  optional int32 foo = 1 [(my_field_option) = 4.5];
 | 
						|
  optional string bar = 2;
 | 
						|
}
 | 
						|
 | 
						|
enum MyEnum {
 | 
						|
  option (my_enum_option) = true;
 | 
						|
 | 
						|
  FOO = 1 [(my_enum_value_option) = 321];
 | 
						|
  BAR = 2;
 | 
						|
}
 | 
						|
 | 
						|
message RequestType {}
 | 
						|
message ResponseType {}
 | 
						|
 | 
						|
service MyService {
 | 
						|
  option (my_service_option) = FOO;
 | 
						|
  option (my_service_option_map) = {
 | 
						|
    foo: "bar";
 | 
						|
  };
 | 
						|
 | 
						|
  rpc MyMethod(RequestType) returns(ResponseType) {
 | 
						|
    // Note:  my_method_option has type MyMessage.  We can set each field
 | 
						|
    //   within it using a separate "option" line.
 | 
						|
    option (my_method_option).foo = 567;
 | 
						|
    option (my_method_option).bar = "Some string";
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
message FooOptions {
 | 
						|
  optional int32 opt1 = 1;
 | 
						|
  optional string opt2 = 2;
 | 
						|
}
 | 
						|
 | 
						|
extend google.protobuf.FieldOptions {
 | 
						|
  optional FooOptions foo_options = 1234;
 | 
						|
}
 | 
						|
 | 
						|
// usage:
 | 
						|
message Bar {
 | 
						|
  optional int32 a = 1 [(foo_options).opt1 = 123, (foo_options).opt2 = "baz"];
 | 
						|
  // alternative aggregate syntax (uses TextFormat):
 | 
						|
  optional int32 b = 2 [(foo_options) = { opt1: 123 opt2: "baz" }];
 | 
						|
}
 |