@@ -5,6 +5,7 @@ option go_package = "github.com/unpackdev/protos/dist/go/contracts;contracts_pb"
5
5
import "ir/eip.proto" ;
6
6
import "contracts/vulnerability.proto" ;
7
7
import "contracts/constructor.proto" ;
8
+ import "contracts/proxy.proto" ;
8
9
import "sources/source.proto" ;
9
10
10
11
// Represents details of a contract.
@@ -23,40 +24,48 @@ message Contract {
23
24
bool verified = 12 ; // Indicates if the contract is verified.
24
25
string compiler_version = 13 ; // Version of the compiler used.
25
26
string evm_version = 14 ; // Version of the EVM used.
26
- bool optimized = 15 ; // Indicates if the contract is optimized.
27
- int32 optimization_runs = 16 ; // Number of optimization runs.
27
+ string solgo_version = 15 ; // Version of the Solgo, used to decompile contract.
28
+ bool optimized = 16 ; // Indicates if the contract is optimized.
29
+ int32 optimization_runs = 17 ; // Number of optimization runs.
28
30
29
31
// List of possible contract types associated.
30
- repeated string possible_contract_types = 17 ;
32
+ repeated string possible_contract_types = 18 ;
31
33
32
34
// Total number of contracts discovered in the IR.
33
- int32 contracts_count = 18 ;
35
+ int32 contracts_count = 19 ;
34
36
35
37
// List of Ethereum Improvement Proposals (EIPs) associated with this IR.
36
- repeated unpack.v1.ir.EIP standards = 19 ;
38
+ repeated unpack.v1.ir.EIP standards = 20 ;
37
39
38
40
// Metadata URLs associated with the contract.
39
- repeated string metadata_urls = 20 ;
41
+ repeated string metadata_urls = 21 ;
40
42
41
43
// Implementations associated with the contract.
42
- repeated unpack.v1.contracts.Implements implements = 21 ;
44
+ repeated unpack.v1.contracts.ProxyImplementation implementations = 22 ;
43
45
44
46
// Constructor details of the contract.
45
- unpack.v1.contracts.Constructor constructor = 22 ;
47
+ unpack.v1.contracts.Constructor constructor = 23 ;
46
48
47
49
// Indicates if the contract has vulnerabilities.
48
- bool has_vulnerabilities = 23 ;
50
+ bool has_vulnerabilities = 24 ;
49
51
50
52
// Metrics of vulnerabilities associated with the contract.
51
- repeated unpack.v1.contracts.VulnerabilityMetric vulnerability_metrics = 24 ;
53
+ repeated unpack.v1.contracts.VulnerabilityMetric vulnerability_metrics = 25 ;
52
54
53
55
// Vulnerabilities associated with the contract.
54
- repeated unpack.v1.contracts.Vulnerability vulnerabilities = 25 ;
56
+ repeated unpack.v1.contracts.Vulnerability vulnerabilities = 26 ;
55
57
56
58
// ABI of the contract in raw JSON format.
57
- string abi = 26 ;
59
+ string abi = 27 ;
58
60
59
- unpack.v1.sources.Sources sources = 27 ;
61
+ unpack.v1.sources.Sources sources = 28 ;
60
62
61
- bool is_proxy = 28 ;
63
+ bool is_proxy = 29 ;
64
+
65
+ bool self_destructed = 30 ;
66
+
67
+ repeated string processed_states = 31 ;
68
+ repeated string failed_states = 32 ;
69
+ bool processed = 33 ;
70
+ bool partial = 34 ;
62
71
}
0 commit comments