diff --git a/contracts/contract.proto b/contracts/contract.proto index a7f946e..3cd9546 100644 --- a/contracts/contract.proto +++ b/contracts/contract.proto @@ -5,6 +5,7 @@ option go_package = "github.com/unpackdev/protos/dist/go/contracts;contracts_pb" import "ir/eip.proto"; import "contracts/vulnerability.proto"; import "contracts/constructor.proto"; +import "contracts/proxy.proto"; import "sources/source.proto"; // Represents details of a contract. @@ -23,40 +24,48 @@ message Contract { bool verified = 12; // Indicates if the contract is verified. string compiler_version = 13; // Version of the compiler used. string evm_version = 14; // Version of the EVM used. - bool optimized = 15; // Indicates if the contract is optimized. - int32 optimization_runs = 16; // Number of optimization runs. + string solgo_version = 15; // Version of the Solgo, used to decompile contract. + bool optimized = 16; // Indicates if the contract is optimized. + int32 optimization_runs = 17; // Number of optimization runs. // List of possible contract types associated. - repeated string possible_contract_types = 17; + repeated string possible_contract_types = 18; // Total number of contracts discovered in the IR. - int32 contracts_count = 18; + int32 contracts_count = 19; // List of Ethereum Improvement Proposals (EIPs) associated with this IR. - repeated unpack.v1.ir.EIP standards = 19; + repeated unpack.v1.ir.EIP standards = 20; // Metadata URLs associated with the contract. - repeated string metadata_urls = 20; + repeated string metadata_urls = 21; // Implementations associated with the contract. - repeated unpack.v1.contracts.Implements implements = 21; + repeated unpack.v1.contracts.ProxyImplementation implementations = 22; // Constructor details of the contract. - unpack.v1.contracts.Constructor constructor = 22; + unpack.v1.contracts.Constructor constructor = 23; // Indicates if the contract has vulnerabilities. - bool has_vulnerabilities = 23; + bool has_vulnerabilities = 24; // Metrics of vulnerabilities associated with the contract. - repeated unpack.v1.contracts.VulnerabilityMetric vulnerability_metrics = 24; + repeated unpack.v1.contracts.VulnerabilityMetric vulnerability_metrics = 25; // Vulnerabilities associated with the contract. - repeated unpack.v1.contracts.Vulnerability vulnerabilities = 25; + repeated unpack.v1.contracts.Vulnerability vulnerabilities = 26; // ABI of the contract in raw JSON format. - string abi = 26; + string abi = 27; - unpack.v1.sources.Sources sources = 27; + unpack.v1.sources.Sources sources = 28; - bool is_proxy = 28; + bool is_proxy = 29; + + bool self_destructed = 30; + + repeated string processed_states = 31; + repeated string failed_states = 32; + bool processed = 33; + bool partial = 34; } \ No newline at end of file diff --git a/contracts/proxy.proto b/contracts/proxy.proto new file mode 100644 index 0000000..722a54f --- /dev/null +++ b/contracts/proxy.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package unpack.v1.contracts; +option go_package = "github.com/unpackdev/protos/dist/go/contracts;contracts_pb"; + +// Represents a contract's implementation details. +message ProxyImplementation { + string address = 1; // Address of the proxy implementation. + bool current = 2; // Is current proxy implementation active (currently used) or not. +} \ No newline at end of file diff --git a/contracts/vulnerability.proto b/contracts/vulnerability.proto index d128e69..2089c78 100644 --- a/contracts/vulnerability.proto +++ b/contracts/vulnerability.proto @@ -2,12 +2,6 @@ syntax = "proto3"; package unpack.v1.contracts; option go_package = "github.com/unpackdev/protos/dist/go/contracts;contracts_pb"; -// Represents a contract's implementation details. -message Implements { - string uuid = 1; // Unique identifier for the implementation. - string name = 2; // Name of the implementation. -} - // Represents a vulnerability metric. message VulnerabilityMetric { string level = 1; // Severity level of the vulnerability. diff --git a/dist/go/contracts/contract.pb.go b/dist/go/contracts/contract.pb.go index cd2d2a4..e3a3ad7 100644 --- a/dist/go/contracts/contract.pb.go +++ b/dist/go/contracts/contract.pb.go @@ -42,30 +42,36 @@ type Contract struct { Verified bool `protobuf:"varint,12,opt,name=verified,proto3" json:"verified,omitempty"` // Indicates if the contract is verified. CompilerVersion string `protobuf:"bytes,13,opt,name=compiler_version,json=compilerVersion,proto3" json:"compiler_version,omitempty"` // Version of the compiler used. EvmVersion string `protobuf:"bytes,14,opt,name=evm_version,json=evmVersion,proto3" json:"evm_version,omitempty"` // Version of the EVM used. - Optimized bool `protobuf:"varint,15,opt,name=optimized,proto3" json:"optimized,omitempty"` // Indicates if the contract is optimized. - OptimizationRuns int32 `protobuf:"varint,16,opt,name=optimization_runs,json=optimizationRuns,proto3" json:"optimization_runs,omitempty"` // Number of optimization runs. + SolgoVersion string `protobuf:"bytes,15,opt,name=solgo_version,json=solgoVersion,proto3" json:"solgo_version,omitempty"` // Version of the Solgo, used to decompile contract. + Optimized bool `protobuf:"varint,16,opt,name=optimized,proto3" json:"optimized,omitempty"` // Indicates if the contract is optimized. + OptimizationRuns int32 `protobuf:"varint,17,opt,name=optimization_runs,json=optimizationRuns,proto3" json:"optimization_runs,omitempty"` // Number of optimization runs. // List of possible contract types associated. - PossibleContractTypes []string `protobuf:"bytes,17,rep,name=possible_contract_types,json=possibleContractTypes,proto3" json:"possible_contract_types,omitempty"` + PossibleContractTypes []string `protobuf:"bytes,18,rep,name=possible_contract_types,json=possibleContractTypes,proto3" json:"possible_contract_types,omitempty"` // Total number of contracts discovered in the IR. - ContractsCount int32 `protobuf:"varint,18,opt,name=contracts_count,json=contractsCount,proto3" json:"contracts_count,omitempty"` + ContractsCount int32 `protobuf:"varint,19,opt,name=contracts_count,json=contractsCount,proto3" json:"contracts_count,omitempty"` // List of Ethereum Improvement Proposals (EIPs) associated with this IR. - Standards []*ir.EIP `protobuf:"bytes,19,rep,name=standards,proto3" json:"standards,omitempty"` + Standards []*ir.EIP `protobuf:"bytes,20,rep,name=standards,proto3" json:"standards,omitempty"` // Metadata URLs associated with the contract. - MetadataUrls []string `protobuf:"bytes,20,rep,name=metadata_urls,json=metadataUrls,proto3" json:"metadata_urls,omitempty"` + MetadataUrls []string `protobuf:"bytes,21,rep,name=metadata_urls,json=metadataUrls,proto3" json:"metadata_urls,omitempty"` // Implementations associated with the contract. - Implements []*Implements `protobuf:"bytes,21,rep,name=implements,proto3" json:"implements,omitempty"` + Implementations []*ProxyImplementation `protobuf:"bytes,22,rep,name=implementations,proto3" json:"implementations,omitempty"` // Constructor details of the contract. - Constructor *Constructor `protobuf:"bytes,22,opt,name=constructor,proto3" json:"constructor,omitempty"` + Constructor *Constructor `protobuf:"bytes,23,opt,name=constructor,proto3" json:"constructor,omitempty"` // Indicates if the contract has vulnerabilities. - HasVulnerabilities bool `protobuf:"varint,23,opt,name=has_vulnerabilities,json=hasVulnerabilities,proto3" json:"has_vulnerabilities,omitempty"` + HasVulnerabilities bool `protobuf:"varint,24,opt,name=has_vulnerabilities,json=hasVulnerabilities,proto3" json:"has_vulnerabilities,omitempty"` // Metrics of vulnerabilities associated with the contract. - VulnerabilityMetrics []*VulnerabilityMetric `protobuf:"bytes,24,rep,name=vulnerability_metrics,json=vulnerabilityMetrics,proto3" json:"vulnerability_metrics,omitempty"` + VulnerabilityMetrics []*VulnerabilityMetric `protobuf:"bytes,25,rep,name=vulnerability_metrics,json=vulnerabilityMetrics,proto3" json:"vulnerability_metrics,omitempty"` // Vulnerabilities associated with the contract. - Vulnerabilities []*Vulnerability `protobuf:"bytes,25,rep,name=vulnerabilities,proto3" json:"vulnerabilities,omitempty"` + Vulnerabilities []*Vulnerability `protobuf:"bytes,26,rep,name=vulnerabilities,proto3" json:"vulnerabilities,omitempty"` // ABI of the contract in raw JSON format. - Abi string `protobuf:"bytes,26,opt,name=abi,proto3" json:"abi,omitempty"` - Sources *sources.Sources `protobuf:"bytes,27,opt,name=sources,proto3" json:"sources,omitempty"` - IsProxy bool `protobuf:"varint,28,opt,name=is_proxy,json=isProxy,proto3" json:"is_proxy,omitempty"` + Abi string `protobuf:"bytes,27,opt,name=abi,proto3" json:"abi,omitempty"` + Sources *sources.Sources `protobuf:"bytes,28,opt,name=sources,proto3" json:"sources,omitempty"` + IsProxy bool `protobuf:"varint,29,opt,name=is_proxy,json=isProxy,proto3" json:"is_proxy,omitempty"` + SelfDestructed bool `protobuf:"varint,30,opt,name=self_destructed,json=selfDestructed,proto3" json:"self_destructed,omitempty"` + ProcessedStates []string `protobuf:"bytes,31,rep,name=processed_states,json=processedStates,proto3" json:"processed_states,omitempty"` + FailedStates []string `protobuf:"bytes,32,rep,name=failed_states,json=failedStates,proto3" json:"failed_states,omitempty"` + Processed bool `protobuf:"varint,33,opt,name=processed,proto3" json:"processed,omitempty"` + Partial bool `protobuf:"varint,34,opt,name=partial,proto3" json:"partial,omitempty"` } func (x *Contract) Reset() { @@ -198,6 +204,13 @@ func (x *Contract) GetEvmVersion() string { return "" } +func (x *Contract) GetSolgoVersion() string { + if x != nil { + return x.SolgoVersion + } + return "" +} + func (x *Contract) GetOptimized() bool { if x != nil { return x.Optimized @@ -240,9 +253,9 @@ func (x *Contract) GetMetadataUrls() []string { return nil } -func (x *Contract) GetImplements() []*Implements { +func (x *Contract) GetImplementations() []*ProxyImplementation { if x != nil { - return x.Implements + return x.Implementations } return nil } @@ -296,6 +309,41 @@ func (x *Contract) GetIsProxy() bool { return false } +func (x *Contract) GetSelfDestructed() bool { + if x != nil { + return x.SelfDestructed + } + return false +} + +func (x *Contract) GetProcessedStates() []string { + if x != nil { + return x.ProcessedStates + } + return nil +} + +func (x *Contract) GetFailedStates() []string { + if x != nil { + return x.FailedStates + } + return nil +} + +func (x *Contract) GetProcessed() bool { + if x != nil { + return x.Processed + } + return false +} + +func (x *Contract) GetPartial() bool { + if x != nil { + return x.Partial + } + return false +} + var File_contracts_contract_proto protoreflect.FileDescriptor var file_contracts_contract_proto_rawDesc = []byte{ @@ -306,82 +354,98 @@ var file_contracts_contract_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x9a, 0x09, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, - 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x6d, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, - 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, - 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6f, - 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x12, - 0x36, 0x0a, 0x17, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x15, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2f, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x18, 0x13, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, - 0x69, 0x72, 0x2e, 0x45, 0x49, 0x50, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x72, - 0x6c, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x75, 0x6e, 0x70, - 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, - 0x2e, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0a, 0x69, 0x6d, 0x70, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x75, - 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x13, 0x68, - 0x61, 0x73, 0x5f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x56, 0x75, 0x6c, - 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x15, - 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x75, 0x6e, + 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x0b, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x79, 0x74, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x42, 0x79, + 0x74, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, + 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x69, + 0x6c, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, + 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x65, 0x76, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x6f, 0x6c, 0x67, 0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x6c, 0x67, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x2b, + 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x75, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6d, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x70, + 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x70, 0x6f, + 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x09, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x69, 0x72, 0x2e, 0x45, + 0x49, 0x50, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, + 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x15, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x72, + 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x73, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x14, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x76, - 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x19, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, - 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x62, 0x69, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x62, 0x69, 0x12, 0x34, 0x0a, 0x07, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x75, - 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x1c, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x3c, 0x5a, 0x3a, + 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x75, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x13, 0x68, 0x61, + 0x73, 0x5f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x61, 0x73, 0x56, 0x75, 0x6c, 0x6e, + 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x15, 0x76, + 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x75, 0x6e, 0x70, + 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, + 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x52, 0x14, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x76, 0x75, + 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x1a, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x62, 0x69, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x62, 0x69, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x75, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x18, 0x20, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x22, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x3b, 0x63, 0x6f, @@ -405,7 +469,7 @@ var file_contracts_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_contracts_contract_proto_goTypes = []interface{}{ (*Contract)(nil), // 0: unpack.v1.contracts.Contract (*ir.EIP)(nil), // 1: unpack.v1.ir.EIP - (*Implements)(nil), // 2: unpack.v1.contracts.Implements + (*ProxyImplementation)(nil), // 2: unpack.v1.contracts.ProxyImplementation (*Constructor)(nil), // 3: unpack.v1.contracts.Constructor (*VulnerabilityMetric)(nil), // 4: unpack.v1.contracts.VulnerabilityMetric (*Vulnerability)(nil), // 5: unpack.v1.contracts.Vulnerability @@ -413,7 +477,7 @@ var file_contracts_contract_proto_goTypes = []interface{}{ } var file_contracts_contract_proto_depIdxs = []int32{ 1, // 0: unpack.v1.contracts.Contract.standards:type_name -> unpack.v1.ir.EIP - 2, // 1: unpack.v1.contracts.Contract.implements:type_name -> unpack.v1.contracts.Implements + 2, // 1: unpack.v1.contracts.Contract.implementations:type_name -> unpack.v1.contracts.ProxyImplementation 3, // 2: unpack.v1.contracts.Contract.constructor:type_name -> unpack.v1.contracts.Constructor 4, // 3: unpack.v1.contracts.Contract.vulnerability_metrics:type_name -> unpack.v1.contracts.VulnerabilityMetric 5, // 4: unpack.v1.contracts.Contract.vulnerabilities:type_name -> unpack.v1.contracts.Vulnerability @@ -432,6 +496,7 @@ func file_contracts_contract_proto_init() { } file_contracts_vulnerability_proto_init() file_contracts_constructor_proto_init() + file_contracts_proxy_proto_init() if !protoimpl.UnsafeEnabled { file_contracts_contract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Contract); i { diff --git a/dist/go/contracts/proxy.pb.go b/dist/go/contracts/proxy.pb.go new file mode 100644 index 0000000..8f8d673 --- /dev/null +++ b/dist/go/contracts/proxy.pb.go @@ -0,0 +1,157 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v3.21.12 +// source: contracts/proxy.proto + +package contracts_pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents a contract's implementation details. +type ProxyImplementation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Address of the proxy implementation. + Current bool `protobuf:"varint,2,opt,name=current,proto3" json:"current,omitempty"` // Is current proxy implementation active (currently used) or not. +} + +func (x *ProxyImplementation) Reset() { + *x = ProxyImplementation{} + if protoimpl.UnsafeEnabled { + mi := &file_contracts_proxy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProxyImplementation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProxyImplementation) ProtoMessage() {} + +func (x *ProxyImplementation) ProtoReflect() protoreflect.Message { + mi := &file_contracts_proxy_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProxyImplementation.ProtoReflect.Descriptor instead. +func (*ProxyImplementation) Descriptor() ([]byte, []int) { + return file_contracts_proxy_proto_rawDescGZIP(), []int{0} +} + +func (x *ProxyImplementation) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *ProxyImplementation) GetCurrent() bool { + if x != nil { + return x.Current + } + return false +} + +var File_contracts_proxy_proto protoreflect.FileDescriptor + +var file_contracts_proxy_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, + 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x13, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x64, 0x65, 0x76, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x73, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_contracts_proxy_proto_rawDescOnce sync.Once + file_contracts_proxy_proto_rawDescData = file_contracts_proxy_proto_rawDesc +) + +func file_contracts_proxy_proto_rawDescGZIP() []byte { + file_contracts_proxy_proto_rawDescOnce.Do(func() { + file_contracts_proxy_proto_rawDescData = protoimpl.X.CompressGZIP(file_contracts_proxy_proto_rawDescData) + }) + return file_contracts_proxy_proto_rawDescData +} + +var file_contracts_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_contracts_proxy_proto_goTypes = []interface{}{ + (*ProxyImplementation)(nil), // 0: unpack.v1.contracts.ProxyImplementation +} +var file_contracts_proxy_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_contracts_proxy_proto_init() } +func file_contracts_proxy_proto_init() { + if File_contracts_proxy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_contracts_proxy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProxyImplementation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_contracts_proxy_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_contracts_proxy_proto_goTypes, + DependencyIndexes: file_contracts_proxy_proto_depIdxs, + MessageInfos: file_contracts_proxy_proto_msgTypes, + }.Build() + File_contracts_proxy_proto = out.File + file_contracts_proxy_proto_rawDesc = nil + file_contracts_proxy_proto_goTypes = nil + file_contracts_proxy_proto_depIdxs = nil +} diff --git a/dist/go/contracts/vulnerability.pb.go b/dist/go/contracts/vulnerability.pb.go index feb36e3..310748c 100644 --- a/dist/go/contracts/vulnerability.pb.go +++ b/dist/go/contracts/vulnerability.pb.go @@ -20,62 +20,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Represents a contract's implementation details. -type Implements struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` // Unique identifier for the implementation. - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Name of the implementation. -} - -func (x *Implements) Reset() { - *x = Implements{} - if protoimpl.UnsafeEnabled { - mi := &file_contracts_vulnerability_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Implements) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Implements) ProtoMessage() {} - -func (x *Implements) ProtoReflect() protoreflect.Message { - mi := &file_contracts_vulnerability_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Implements.ProtoReflect.Descriptor instead. -func (*Implements) Descriptor() ([]byte, []int) { - return file_contracts_vulnerability_proto_rawDescGZIP(), []int{0} -} - -func (x *Implements) GetUuid() string { - if x != nil { - return x.Uuid - } - return "" -} - -func (x *Implements) GetName() string { - if x != nil { - return x.Name - } - return "" -} - // Represents a vulnerability metric. type VulnerabilityMetric struct { state protoimpl.MessageState @@ -89,7 +33,7 @@ type VulnerabilityMetric struct { func (x *VulnerabilityMetric) Reset() { *x = VulnerabilityMetric{} if protoimpl.UnsafeEnabled { - mi := &file_contracts_vulnerability_proto_msgTypes[1] + mi := &file_contracts_vulnerability_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102,7 +46,7 @@ func (x *VulnerabilityMetric) String() string { func (*VulnerabilityMetric) ProtoMessage() {} func (x *VulnerabilityMetric) ProtoReflect() protoreflect.Message { - mi := &file_contracts_vulnerability_proto_msgTypes[1] + mi := &file_contracts_vulnerability_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115,7 +59,7 @@ func (x *VulnerabilityMetric) ProtoReflect() protoreflect.Message { // Deprecated: Use VulnerabilityMetric.ProtoReflect.Descriptor instead. func (*VulnerabilityMetric) Descriptor() ([]byte, []int) { - return file_contracts_vulnerability_proto_rawDescGZIP(), []int{1} + return file_contracts_vulnerability_proto_rawDescGZIP(), []int{0} } func (x *VulnerabilityMetric) GetLevel() string { @@ -149,7 +93,7 @@ type Element struct { func (x *Element) Reset() { *x = Element{} if protoimpl.UnsafeEnabled { - mi := &file_contracts_vulnerability_proto_msgTypes[2] + mi := &file_contracts_vulnerability_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -162,7 +106,7 @@ func (x *Element) String() string { func (*Element) ProtoMessage() {} func (x *Element) ProtoReflect() protoreflect.Message { - mi := &file_contracts_vulnerability_proto_msgTypes[2] + mi := &file_contracts_vulnerability_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -175,7 +119,7 @@ func (x *Element) ProtoReflect() protoreflect.Message { // Deprecated: Use Element.ProtoReflect.Descriptor instead. func (*Element) Descriptor() ([]byte, []int) { - return file_contracts_vulnerability_proto_rawDescGZIP(), []int{2} + return file_contracts_vulnerability_proto_rawDescGZIP(), []int{1} } func (x *Element) GetName() string { @@ -236,7 +180,7 @@ type Vulnerability struct { func (x *Vulnerability) Reset() { *x = Vulnerability{} if protoimpl.UnsafeEnabled { - mi := &file_contracts_vulnerability_proto_msgTypes[3] + mi := &file_contracts_vulnerability_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -249,7 +193,7 @@ func (x *Vulnerability) String() string { func (*Vulnerability) ProtoMessage() {} func (x *Vulnerability) ProtoReflect() protoreflect.Message { - mi := &file_contracts_vulnerability_proto_msgTypes[3] + mi := &file_contracts_vulnerability_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -262,7 +206,7 @@ func (x *Vulnerability) ProtoReflect() protoreflect.Message { // Deprecated: Use Vulnerability.ProtoReflect.Descriptor instead. func (*Vulnerability) Descriptor() ([]byte, []int) { - return file_contracts_vulnerability_proto_rawDescGZIP(), []int{3} + return file_contracts_vulnerability_proto_rawDescGZIP(), []int{2} } func (x *Vulnerability) GetCheck() string { @@ -306,41 +250,38 @@ var file_contracts_vulnerability_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x13, 0x56, 0x75, - 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xad, 0x01, - 0x0a, 0x07, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, - 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0xb9, 0x01, - 0x0a, 0x0d, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x38, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x64, 0x65, - 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x67, 0x6f, - 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x73, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x63, 0x74, 0x73, 0x22, 0x41, 0x0a, 0x13, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xad, 0x01, 0x0a, 0x07, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x56, 0x75, 0x6c, 0x6e, + 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, + 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x75, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x73, 0x2e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x42, 0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x73, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x5f, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -355,15 +296,14 @@ func file_contracts_vulnerability_proto_rawDescGZIP() []byte { return file_contracts_vulnerability_proto_rawDescData } -var file_contracts_vulnerability_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_contracts_vulnerability_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_contracts_vulnerability_proto_goTypes = []interface{}{ - (*Implements)(nil), // 0: unpack.v1.contracts.Implements - (*VulnerabilityMetric)(nil), // 1: unpack.v1.contracts.VulnerabilityMetric - (*Element)(nil), // 2: unpack.v1.contracts.Element - (*Vulnerability)(nil), // 3: unpack.v1.contracts.Vulnerability + (*VulnerabilityMetric)(nil), // 0: unpack.v1.contracts.VulnerabilityMetric + (*Element)(nil), // 1: unpack.v1.contracts.Element + (*Vulnerability)(nil), // 2: unpack.v1.contracts.Vulnerability } var file_contracts_vulnerability_proto_depIdxs = []int32{ - 2, // 0: unpack.v1.contracts.Vulnerability.elements:type_name -> unpack.v1.contracts.Element + 1, // 0: unpack.v1.contracts.Vulnerability.elements:type_name -> unpack.v1.contracts.Element 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name @@ -378,18 +318,6 @@ func file_contracts_vulnerability_proto_init() { } if !protoimpl.UnsafeEnabled { file_contracts_vulnerability_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Implements); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_contracts_vulnerability_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VulnerabilityMetric); i { case 0: return &v.state @@ -401,7 +329,7 @@ func file_contracts_vulnerability_proto_init() { return nil } } - file_contracts_vulnerability_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_contracts_vulnerability_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Element); i { case 0: return &v.state @@ -413,7 +341,7 @@ func file_contracts_vulnerability_proto_init() { return nil } } - file_contracts_vulnerability_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_contracts_vulnerability_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Vulnerability); i { case 0: return &v.state @@ -432,7 +360,7 @@ func file_contracts_vulnerability_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_contracts_vulnerability_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/dist/protosets/unpack.protoset b/dist/protosets/unpack.protoset index 699f60c..621e855 100644 Binary files a/dist/protosets/unpack.protoset and b/dist/protosets/unpack.protoset differ