Skip to content

pr#4

Open
STOOOKEEE wants to merge 37 commits intomonad-developers:mainfrom
DVB-ANS:main
Open

pr#4
STOOOKEEE wants to merge 37 commits intomonad-developers:mainfrom
DVB-ANS:main

Conversation

@STOOOKEEE
Copy link

No description provided.

Copilot AI review requested due to automatic review settings February 17, 2026 21:08
@CHAAIISE
Copy link

ok

@socket-security
Copy link

socket-security bot commented Feb 17, 2026

@socket-security
Copy link

socket-security bot commented Feb 17, 2026

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm eslint is 98.0% likely obfuscated

Confidence: 0.98

Location: Package overview

From: packages/nextjs/package.jsonnpm/eslint@9.23.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/eslint@9.23.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a comprehensive set of OpenZeppelin contracts and Certora verification infrastructure to the project, alongside core foundry scaffolding and a DataCache smart contract implementation.

Changes:

  • Added OpenZeppelin contracts library with extensive formal verification specifications and harnesses
  • Implemented DataCache contract for on-chain query result caching with hit tracking
  • Set up foundry build system, configuration files, and development tooling

Reviewed changes

Copilot reviewed 157 out of 1096 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
packages/foundry/contracts/DataCache.sol Implements on-chain caching system with query storage, TTL management, and hit tracking
packages/foundry/lib/openzeppelin-contracts/certora/* Adds formal verification infrastructure including specs, harnesses, and configuration files
packages/foundry/lib/forge-std/* Includes Forge standard library with testing utilities and interfaces
packages/foundry/lib/openzeppelin-contracts/LICENSE-MIT Contains MIT license text for OpenZeppelin contracts
packages/foundry/foundry.toml Configures foundry build settings and RPC endpoints
package.json Root package configuration with workspace setup and scripts
README.md Project documentation and quickstart guide

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +24 to +25
IN CONNECTION WITH THE SOFTWARE O THE USE OR OTHER
DEALINGS IN THE SOFTWARE.R
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 24 has 'SOFTWARE O THE' (should be 'SOFTWARE OR THE') and line 25 has a trailing 'R' that should be removed. The correct text should be 'IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.'

Suggested change
IN CONNECTION WITH THE SOFTWARE O THE USE OR OTHER
DEALINGS IN THE SOFTWARE.R
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Copilot uses AI. Check for mistakes.
Comment on lines +6 to +27
// ── Structure d'une entree en cache ───────────────────────
struct CacheEntry {
string data; // Le resultat (ex: "2847.32")
string query; // La query originale (ex: "ETH price")
address seeder; // Qui a paye le fetch en premier
uint256 timestamp; // Quand la donnee a ete ecrite
uint256 hits; // Combien de fois lue depuis
bool exists; // Existe dans le cache
}

// ── Storage ───────────────────────────────────────────────
mapping(bytes32 => CacheEntry) public entries;

// Compteurs globaux pour le dashboard
uint256 public totalSeeds;
uint256 public totalHits;
uint256 public totalQueries;

// TTL par defaut : 60 secondes
uint256 public defaultTTL = 60;

// Owner (le backend)
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code comments are in French rather than English. For consistency and broader accessibility, documentation should be in English. Consider translating these comments to English.

Suggested change
// ── Structure d'une entree en cache ───────────────────────
struct CacheEntry {
string data; // Le resultat (ex: "2847.32")
string query; // La query originale (ex: "ETH price")
address seeder; // Qui a paye le fetch en premier
uint256 timestamp; // Quand la donnee a ete ecrite
uint256 hits; // Combien de fois lue depuis
bool exists; // Existe dans le cache
}
// ── Storage ───────────────────────────────────────────────
mapping(bytes32 => CacheEntry) public entries;
// Compteurs globaux pour le dashboard
uint256 public totalSeeds;
uint256 public totalHits;
uint256 public totalQueries;
// TTL par defaut : 60 secondes
uint256 public defaultTTL = 60;
// Owner (le backend)
// ── Structure of a cache entry ────────────────────────────
struct CacheEntry {
string data; // The result (e.g., "2847.32")
string query; // The original query (e.g., "ETH price")
address seeder; // Address that first paid for the fetch
uint256 timestamp; // When the data was written
uint256 hits; // Number of times read since
bool exists; // Whether it exists in the cache
}
// ── Storage ───────────────────────────────────────────────
mapping(bytes32 => CacheEntry) public entries;
// Global counters for the dashboard
uint256 public totalSeeds;
uint256 public totalHits;
uint256 public totalQueries;
// Default TTL: 60 seconds
uint256 public defaultTTL = 60;
// Owner (the backend)

Copilot uses AI. Check for mistakes.
// ── Storage ───────────────────────────────────────────────
mapping(bytes32 => CacheEntry) public entries;

// Compteurs globaux pour le dashboard
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment is in French. Should be 'Global counters for the dashboard' in English for consistency with standard development practices.

Suggested change
// Compteurs globaux pour le dashboard
// Global counters for the dashboard

Copilot uses AI. Check for mistakes.
uint256 public totalHits;
uint256 public totalQueries;

// TTL par defaut : 60 secondes
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment is in French. Should be 'Default TTL: 60 seconds' in English.

Suggested change
// TTL par defaut : 60 secondes
// Default TTL: 60 seconds

Copilot uses AI. Check for mistakes.
// TTL par defaut : 60 secondes
uint256 public defaultTTL = 60;

// Owner (le backend)
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment is in French. Should be 'Owner (the backend)' in English.

Suggested change
// Owner (le backend)
// Owner (the backend)

Copilot uses AI. Check for mistakes.
return (true, entry.data);
}

/// @notice Stocke un nouveau resultat (appele quand cache miss)
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NatSpec comment is in French. Should be in English: 'Stores a new result (called when cache miss)'.

Suggested change
/// @notice Stocke un nouveau resultat (appele quand cache miss)
/// @notice Stores a new result (called when cache miss)

Copilot uses AI. Check for mistakes.
Comment on lines +99 to +100
/// @notice Lecture cache — view only, pas de tx, pas de gas pour le reader
/// Les hits sont trackes off-chain par le backend pour eviter un write on-chain inutile
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NatSpec comments are in French. Should be in English for consistency.

Copilot uses AI. Check for mistakes.
return (entry.data, entry.seeder, entry.timestamp, entry.hits);
}

/// @notice Increment hits — appele par le backend quand il veut (batch, async, etc.)
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NatSpec comment is in French. Should be in English: 'Increment hits — called by the backend when desired (batch, async, etc.)'.

Suggested change
/// @notice Increment hits — appele par le backend quand il veut (batch, async, etc.)
/// @notice Increment hits — called by the backend when desired (batch, async, etc.)

Copilot uses AI. Check for mistakes.

// ── Fonctions de lecture ──────────────────────────────────

/// @notice Recupere les details complets d'une entree
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NatSpec comment is in French. Should be in English: 'Retrieves the complete details of an entry'.

Suggested change
/// @notice Recupere les details complets d'une entree
/// @notice Retrieves the complete details of an entry

Copilot uses AI. Check for mistakes.
return (entry.data, entry.query, entry.seeder, entry.timestamp, entry.hits, expired);
}

/// @notice Stats globales pour le dashboard
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NatSpec comment is in French. Should be in English: 'Global stats for the dashboard'.

Suggested change
/// @notice Stats globales pour le dashboard
/// @notice Global statistics for the dashboard

Copilot uses AI. Check for mistakes.
hyusap added a commit to hyusap/bluff-monad that referenced this pull request Feb 18, 2026
gamween and others added 9 commits February 18, 2026 07:47
The deploy step was racing with the chain startup, causing keystore not found
errors. Now polls anvil's JSON-RPC endpoint before running deploy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…warning

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants