glamsterdam-compat-lab 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/CONTRIBUTING.md +2 -2
  2. package/README.md +8 -6
  3. package/ROADMAP.md +1 -1
  4. package/data/client-compat/clients.example.json +287 -2
  5. package/datasets/public-seed/comparisons/bytecode-ens-registry-mainnet-runtime--default-vs-research.json +3 -3
  6. package/datasets/public-seed/comparisons/bytecode-erc4337-entrypoint-v06-mainnet-runtime--default-vs-research.json +167 -0
  7. package/datasets/public-seed/comparisons/bytecode-multicall3-mainnet-runtime--default-vs-research.json +3 -3
  8. package/datasets/public-seed/comparisons/bytecode-safe-proxy-factory-v130-mainnet-runtime--default-vs-research.json +169 -0
  9. package/datasets/public-seed/comparisons/bytecode-storage-heavy--default-vs-research.json +3 -3
  10. package/datasets/public-seed/comparisons/bytecode-uniswap-v2-factory-mainnet-runtime--default-vs-research.json +3 -3
  11. package/datasets/public-seed/comparisons/bytecode-usdc-proxy-mainnet-runtime--default-vs-research.json +3 -3
  12. package/datasets/public-seed/comparisons/bytecode-weth9-mainnet-runtime--default-vs-research.json +3 -3
  13. package/datasets/public-seed/comparisons/traces-besu-debug-structlogs--default-vs-research.json +3 -3
  14. package/datasets/public-seed/comparisons/traces-besu-mainnet-tracoor-debug-structlogs--default-vs-research.json +3 -3
  15. package/datasets/public-seed/comparisons/traces-call-tracer-tree--default-vs-research.json +3 -3
  16. package/datasets/public-seed/comparisons/traces-drpc-call-tracer-real--default-vs-research.json +3 -3
  17. package/datasets/public-seed/comparisons/traces-erigon-action-trace--default-vs-research.json +3 -3
  18. package/datasets/public-seed/comparisons/traces-foundry-json-trace--default-vs-research.json +3 -3
  19. package/datasets/public-seed/comparisons/traces-geth-json-rpc-structlogs--default-vs-research.json +3 -3
  20. package/datasets/public-seed/comparisons/traces-geth-mainnet-tracoor-debug-structlogs--default-vs-research.json +141 -0
  21. package/datasets/public-seed/comparisons/traces-hardhat-debug-trace--default-vs-research.json +3 -3
  22. package/datasets/public-seed/comparisons/traces-nethermind-debug-structlogs--default-vs-research.json +3 -3
  23. package/datasets/public-seed/comparisons/traces-nethermind-mainnet-tracoor-debug-structlogs--default-vs-research.json +3 -3
  24. package/datasets/public-seed/comparisons/traces-reth-mainnet-tracoor-debug-structlogs--default-vs-research.json +141 -0
  25. package/datasets/public-seed/comparisons/traces-storage-heavy-trace--default-vs-research.json +3 -3
  26. package/datasets/public-seed/findings.csv +44 -0
  27. package/datasets/public-seed/manifest.json +190 -2
  28. package/datasets/public-seed/reports/bytecode-ens-registry-mainnet-runtime--default.json +1 -1
  29. package/datasets/public-seed/reports/bytecode-ens-registry-mainnet-runtime--research.json +1 -1
  30. package/datasets/public-seed/reports/bytecode-erc4337-entrypoint-v06-mainnet-runtime--default.json +170 -0
  31. package/datasets/public-seed/reports/bytecode-erc4337-entrypoint-v06-mainnet-runtime--research.json +170 -0
  32. package/datasets/public-seed/reports/bytecode-multicall3-mainnet-runtime--default.json +1 -1
  33. package/datasets/public-seed/reports/bytecode-multicall3-mainnet-runtime--research.json +1 -1
  34. package/datasets/public-seed/reports/bytecode-safe-proxy-factory-v130-mainnet-runtime--default.json +148 -0
  35. package/datasets/public-seed/reports/bytecode-safe-proxy-factory-v130-mainnet-runtime--research.json +171 -0
  36. package/datasets/public-seed/reports/bytecode-storage-heavy--default.json +1 -1
  37. package/datasets/public-seed/reports/bytecode-storage-heavy--research.json +1 -1
  38. package/datasets/public-seed/reports/bytecode-uniswap-v2-factory-mainnet-runtime--default.json +1 -1
  39. package/datasets/public-seed/reports/bytecode-uniswap-v2-factory-mainnet-runtime--research.json +1 -1
  40. package/datasets/public-seed/reports/bytecode-usdc-proxy-mainnet-runtime--default.json +1 -1
  41. package/datasets/public-seed/reports/bytecode-usdc-proxy-mainnet-runtime--research.json +1 -1
  42. package/datasets/public-seed/reports/bytecode-weth9-mainnet-runtime--default.json +1 -1
  43. package/datasets/public-seed/reports/bytecode-weth9-mainnet-runtime--research.json +1 -1
  44. package/datasets/public-seed/reports/indexers-balance-diff-indexer--default.json +1 -1
  45. package/datasets/public-seed/reports/indexers-explorer-replay-indexer--default.json +1 -1
  46. package/datasets/public-seed/reports/indexers-graph-network-subgraph-reduced--default.json +123 -0
  47. package/datasets/public-seed/reports/indexers-subgraph--default.json +1 -1
  48. package/datasets/public-seed/reports/traces-besu-debug-structlogs--default.json +1 -1
  49. package/datasets/public-seed/reports/traces-besu-debug-structlogs--research.json +1 -1
  50. package/datasets/public-seed/reports/traces-besu-mainnet-tracoor-debug-structlogs--default.json +1 -1
  51. package/datasets/public-seed/reports/traces-besu-mainnet-tracoor-debug-structlogs--research.json +1 -1
  52. package/datasets/public-seed/reports/traces-call-tracer-tree--default.json +1 -1
  53. package/datasets/public-seed/reports/traces-call-tracer-tree--research.json +1 -1
  54. package/datasets/public-seed/reports/traces-drpc-call-tracer-real--default.json +1 -1
  55. package/datasets/public-seed/reports/traces-drpc-call-tracer-real--research.json +1 -1
  56. package/datasets/public-seed/reports/traces-erigon-action-trace--default.json +1 -1
  57. package/datasets/public-seed/reports/traces-erigon-action-trace--research.json +1 -1
  58. package/datasets/public-seed/reports/traces-foundry-json-trace--default.json +1 -1
  59. package/datasets/public-seed/reports/traces-foundry-json-trace--research.json +1 -1
  60. package/datasets/public-seed/reports/traces-geth-json-rpc-structlogs--default.json +1 -1
  61. package/datasets/public-seed/reports/traces-geth-json-rpc-structlogs--research.json +1 -1
  62. package/datasets/public-seed/reports/traces-geth-mainnet-tracoor-debug-structlogs--default.json +103 -0
  63. package/datasets/public-seed/reports/traces-geth-mainnet-tracoor-debug-structlogs--research.json +131 -0
  64. package/datasets/public-seed/reports/traces-hardhat-debug-trace--default.json +1 -1
  65. package/datasets/public-seed/reports/traces-hardhat-debug-trace--research.json +1 -1
  66. package/datasets/public-seed/reports/traces-nethermind-debug-structlogs--default.json +1 -1
  67. package/datasets/public-seed/reports/traces-nethermind-debug-structlogs--research.json +1 -1
  68. package/datasets/public-seed/reports/traces-nethermind-mainnet-tracoor-debug-structlogs--default.json +1 -1
  69. package/datasets/public-seed/reports/traces-nethermind-mainnet-tracoor-debug-structlogs--research.json +1 -1
  70. package/datasets/public-seed/reports/traces-reth-mainnet-tracoor-debug-structlogs--default.json +103 -0
  71. package/datasets/public-seed/reports/traces-reth-mainnet-tracoor-debug-structlogs--research.json +131 -0
  72. package/datasets/public-seed/reports/traces-storage-heavy-trace--default.json +1 -1
  73. package/datasets/public-seed/reports/traces-storage-heavy-trace--research.json +1 -1
  74. package/datasets/public-seed/reports/validator-glamsterdam-devnet-operator-public--default.json +92 -0
  75. package/datasets/public-seed/reports/validator-operator-config--default.json +3 -3
  76. package/datasets/public-seed/reports/validator-operator-config-builder-gap--default.json +1 -1
  77. package/datasets/public-seed/reports/validator-operator-config-complete--default.json +1 -1
  78. package/datasets/public-seed/reports.csv +10 -0
  79. package/datasets/public-seed/summary.csv +37 -31
  80. package/datasets/public-seed/summary.json +57 -33
  81. package/dist/fixtures/provenance.d.ts +3 -0
  82. package/dist/fixtures/provenance.js +1 -0
  83. package/dist/fixtures/provenance.js.map +1 -1
  84. package/dist/reports/reportTypes.d.ts +1 -1
  85. package/dist/reports/reportTypes.js +1 -1
  86. package/dist/scanners/validatorScanner.d.ts +83 -1
  87. package/dist/scanners/validatorScanner.js +39 -3
  88. package/dist/scanners/validatorScanner.js.map +1 -1
  89. package/docs/client-compat.md +103 -0
  90. package/docs/dataset.md +115 -0
  91. package/docs/fixtures.md +10 -4
  92. package/docs/release.md +7 -29
  93. package/examples/baseline-comparison.md +1 -1
  94. package/examples/public-seed-analysis.md +190 -0
  95. package/fixtures/bytecode/erc4337-entrypoint-v06-mainnet-runtime.hex +1 -0
  96. package/fixtures/bytecode/safe-proxy-factory-v130-mainnet-runtime.hex +1 -0
  97. package/fixtures/indexers/graph-network-subgraph-reduced.yaml +66 -0
  98. package/fixtures/provenance.json +267 -1
  99. package/fixtures/traces/geth-mainnet-tracoor-debug-structlogs.json +2285 -0
  100. package/fixtures/traces/reth-mainnet-tracoor-debug-structlogs.json +2285 -0
  101. package/fixtures/validator/glamsterdam-devnet-operator-public.yaml +30 -0
  102. package/package.json +1 -1
@@ -0,0 +1,169 @@
1
+ {
2
+ "toolVersion": "0.3.3",
3
+ "fork": "glamsterdam",
4
+ "comparison": {
5
+ "baseline": {
6
+ "toolVersion": "0.3.3",
7
+ "fork": "glamsterdam",
8
+ "target": {
9
+ "kind": "bytecode",
10
+ "name": "fixtures/bytecode/safe-proxy-factory-v130-mainnet-runtime.hex"
11
+ },
12
+ "summary": {
13
+ "risk": "medium",
14
+ "findingCount": 5,
15
+ "highCount": 0,
16
+ "mediumCount": 2,
17
+ "lowCount": 2,
18
+ "unknownCount": 1
19
+ }
20
+ },
21
+ "candidate": {
22
+ "toolVersion": "0.3.3",
23
+ "fork": "glamsterdam",
24
+ "target": {
25
+ "kind": "bytecode",
26
+ "name": "fixtures/bytecode/safe-proxy-factory-v130-mainnet-runtime.hex"
27
+ },
28
+ "summary": {
29
+ "risk": "medium",
30
+ "findingCount": 6,
31
+ "highCount": 0,
32
+ "mediumCount": 3,
33
+ "lowCount": 2,
34
+ "unknownCount": 1
35
+ }
36
+ }
37
+ },
38
+ "summary": {
39
+ "riskChange": {
40
+ "from": "medium",
41
+ "to": "medium",
42
+ "direction": "unchanged"
43
+ },
44
+ "findingCount": {
45
+ "baseline": 5,
46
+ "candidate": 6,
47
+ "delta": 1
48
+ },
49
+ "addedCount": 1,
50
+ "removedCount": 0,
51
+ "changedCount": 0,
52
+ "unchangedCount": 5,
53
+ "severityIncreasedCount": 0,
54
+ "severityDecreasedCount": 0,
55
+ "severityChangedCount": 0,
56
+ "confidenceIncreasedCount": 0,
57
+ "confidenceDecreasedCount": 0,
58
+ "confidenceChangedCount": 0
59
+ },
60
+ "changes": {
61
+ "added": [
62
+ {
63
+ "key": "bytecode.storage-heavy-pattern",
64
+ "id": "bytecode.storage-heavy-pattern",
65
+ "title": "Storage-related opcodes appear frequently",
66
+ "severity": "medium",
67
+ "confidence": "medium",
68
+ "domain": [
69
+ "contracts",
70
+ "execution"
71
+ ],
72
+ "relatedEips": [
73
+ "GAS-REPRICING",
74
+ "EIP-8038"
75
+ ]
76
+ }
77
+ ],
78
+ "removed": [],
79
+ "changed": [],
80
+ "unchanged": [
81
+ {
82
+ "key": "bytecode.calldata-copy-exposure",
83
+ "id": "bytecode.calldata-copy-exposure",
84
+ "title": "Calldata copy opcode is present",
85
+ "severity": "low",
86
+ "confidence": "medium",
87
+ "domain": [
88
+ "contracts",
89
+ "execution"
90
+ ],
91
+ "relatedEips": [
92
+ "GAS-REPRICING",
93
+ "EIP-7976",
94
+ "EIP-7904",
95
+ "EIP-8038"
96
+ ]
97
+ },
98
+ {
99
+ "key": "bytecode.contract-creation-opcodes",
100
+ "id": "bytecode.contract-creation-opcodes",
101
+ "title": "Contract creation opcodes are present",
102
+ "severity": "medium",
103
+ "confidence": "high",
104
+ "domain": [
105
+ "contracts",
106
+ "execution"
107
+ ],
108
+ "relatedEips": [
109
+ "GAS-REPRICING",
110
+ "EIP-8037"
111
+ ]
112
+ },
113
+ {
114
+ "key": "bytecode.log-opcodes-present",
115
+ "id": "bytecode.log-opcodes-present",
116
+ "title": "Log opcodes are present",
117
+ "severity": "low",
118
+ "confidence": "medium",
119
+ "domain": [
120
+ "contracts",
121
+ "indexer",
122
+ "monitoring"
123
+ ],
124
+ "relatedEips": [
125
+ "EIP-7708"
126
+ ]
127
+ },
128
+ {
129
+ "key": "bytecode.manual-review-required",
130
+ "id": "bytecode.manual-review-required",
131
+ "title": "Manual review is still required for runtime behavior",
132
+ "severity": "unknown",
133
+ "confidence": "low",
134
+ "domain": [
135
+ "contracts",
136
+ "execution"
137
+ ],
138
+ "relatedEips": [
139
+ "GAS-REPRICING"
140
+ ]
141
+ },
142
+ {
143
+ "key": "bytecode.state-account-opcode-exposure",
144
+ "id": "bytecode.state-account-opcode-exposure",
145
+ "title": "State and account access opcodes are prominent in bytecode",
146
+ "severity": "medium",
147
+ "confidence": "medium",
148
+ "domain": [
149
+ "contracts",
150
+ "execution"
151
+ ],
152
+ "relatedEips": [
153
+ "GAS-REPRICING",
154
+ "EIP-7904",
155
+ "EIP-8038",
156
+ "EIP-7976"
157
+ ]
158
+ }
159
+ ]
160
+ },
161
+ "assumptions": [
162
+ "Reports were compared by finding id. Repeated finding ids are disambiguated with deterministic occurrence suffixes.",
163
+ "Severity and confidence changes are structural report changes, not protocol gas estimates."
164
+ ],
165
+ "limitations": [
166
+ "The comparison does not infer exact gas deltas, final Glamsterdam parameters, or current-vs-Glamsterdam client behavior unless those values are already present in the input reports.",
167
+ "Added and removed findings can reflect threshold profile differences, fixture coverage changes, registry updates, or detector changes; review the source reports before treating a diff as a protocol risk change."
168
+ ]
169
+ }
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "bytecode",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "bytecode",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "bytecode",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "bytecode",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "bytecode",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "bytecode",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "bytecode",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "bytecode",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -0,0 +1,141 @@
1
+ {
2
+ "toolVersion": "0.3.3",
3
+ "fork": "glamsterdam",
4
+ "comparison": {
5
+ "baseline": {
6
+ "toolVersion": "0.3.3",
7
+ "fork": "glamsterdam",
8
+ "target": {
9
+ "kind": "trace",
10
+ "name": "fixtures/traces/geth-mainnet-tracoor-debug-structlogs.json"
11
+ },
12
+ "summary": {
13
+ "risk": "low",
14
+ "findingCount": 3,
15
+ "highCount": 0,
16
+ "mediumCount": 0,
17
+ "lowCount": 2,
18
+ "unknownCount": 1
19
+ }
20
+ },
21
+ "candidate": {
22
+ "toolVersion": "0.3.3",
23
+ "fork": "glamsterdam",
24
+ "target": {
25
+ "kind": "trace",
26
+ "name": "fixtures/traces/geth-mainnet-tracoor-debug-structlogs.json"
27
+ },
28
+ "summary": {
29
+ "risk": "medium",
30
+ "findingCount": 4,
31
+ "highCount": 0,
32
+ "mediumCount": 1,
33
+ "lowCount": 2,
34
+ "unknownCount": 1
35
+ }
36
+ }
37
+ },
38
+ "summary": {
39
+ "riskChange": {
40
+ "from": "low",
41
+ "to": "medium",
42
+ "direction": "increased"
43
+ },
44
+ "findingCount": {
45
+ "baseline": 3,
46
+ "candidate": 4,
47
+ "delta": 1
48
+ },
49
+ "addedCount": 1,
50
+ "removedCount": 0,
51
+ "changedCount": 0,
52
+ "unchangedCount": 3,
53
+ "severityIncreasedCount": 0,
54
+ "severityDecreasedCount": 0,
55
+ "severityChangedCount": 0,
56
+ "confidenceIncreasedCount": 0,
57
+ "confidenceDecreasedCount": 0,
58
+ "confidenceChangedCount": 0
59
+ },
60
+ "changes": {
61
+ "added": [
62
+ {
63
+ "key": "trace.state-heavy-execution-medium",
64
+ "id": "trace.state-heavy-execution-medium",
65
+ "title": "Trace shows state-heavy execution",
66
+ "severity": "medium",
67
+ "confidence": "high",
68
+ "domain": [
69
+ "contracts",
70
+ "execution"
71
+ ],
72
+ "relatedEips": [
73
+ "GAS-REPRICING",
74
+ "EIP-7904",
75
+ "EIP-8038",
76
+ "EIP-7976"
77
+ ]
78
+ }
79
+ ],
80
+ "removed": [],
81
+ "changed": [],
82
+ "unchanged": [
83
+ {
84
+ "key": "trace.calldata-heavy-execution",
85
+ "id": "trace.calldata-heavy-execution",
86
+ "title": "Trace includes visible calldata-heavy execution",
87
+ "severity": "low",
88
+ "confidence": "medium",
89
+ "domain": [
90
+ "contracts",
91
+ "execution"
92
+ ],
93
+ "relatedEips": [
94
+ "GAS-REPRICING",
95
+ "EIP-7976",
96
+ "EIP-7904",
97
+ "EIP-8038"
98
+ ]
99
+ },
100
+ {
101
+ "key": "trace.logs-calls-visible",
102
+ "id": "trace.logs-calls-visible",
103
+ "title": "Trace includes logs or external calls",
104
+ "severity": "low",
105
+ "confidence": "high",
106
+ "domain": [
107
+ "contracts",
108
+ "indexer",
109
+ "monitoring"
110
+ ],
111
+ "relatedEips": [
112
+ "EIP-7708",
113
+ "EIP-7928"
114
+ ]
115
+ },
116
+ {
117
+ "key": "trace.partial-evidence",
118
+ "id": "trace.partial-evidence",
119
+ "title": "Trace omits some useful compatibility evidence",
120
+ "severity": "unknown",
121
+ "confidence": "low",
122
+ "domain": [
123
+ "contracts",
124
+ "execution"
125
+ ],
126
+ "relatedEips": [
127
+ "GAS-REPRICING",
128
+ "EIP-7976"
129
+ ]
130
+ }
131
+ ]
132
+ },
133
+ "assumptions": [
134
+ "Reports were compared by finding id. Repeated finding ids are disambiguated with deterministic occurrence suffixes.",
135
+ "Severity and confidence changes are structural report changes, not protocol gas estimates."
136
+ ],
137
+ "limitations": [
138
+ "The comparison does not infer exact gas deltas, final Glamsterdam parameters, or current-vs-Glamsterdam client behavior unless those values are already present in the input reports.",
139
+ "Added and removed findings can reflect threshold profile differences, fixture coverage changes, registry updates, or detector changes; review the source reports before treating a diff as a protocol risk change."
140
+ ]
141
+ }
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",
@@ -1,9 +1,9 @@
1
1
  {
2
- "toolVersion": "0.3.2",
2
+ "toolVersion": "0.3.3",
3
3
  "fork": "glamsterdam",
4
4
  "comparison": {
5
5
  "baseline": {
6
- "toolVersion": "0.3.2",
6
+ "toolVersion": "0.3.3",
7
7
  "fork": "glamsterdam",
8
8
  "target": {
9
9
  "kind": "trace",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "candidate": {
22
- "toolVersion": "0.3.2",
22
+ "toolVersion": "0.3.3",
23
23
  "fork": "glamsterdam",
24
24
  "target": {
25
25
  "kind": "trace",